The 28-year-old Northern Ireland internationalist has agreed a deal at Tynecastle until the summer of 2023. Boyce began his career with Cliftonville and had a spell with Werder Bremen before a move back to Belfast.
He was a prolific scorer for Ross County between 2014 and 2017 and now returns to the Ladbrokes Premiership to join Daniel Stendel's men.
Hearts have also brought in defender Toby Sibbick on loan from Barnsley until the summer.