The former Kilmarnock and Rangers forward spent the second half of last term on loan at Tynecastle from Carrow Road and now returns to the capital.
Hearts boss Craig Levein told the club website: “I’m thrilled. It’s not just the fact that he’s a really good player - he’s got a great work ethic and great talent as well.”