Defender Vincent Atinga slotted in a late penalty for the hosts after Ahmed Adams handled the ball in Kotoko's box.
Hearts coach Frank Elliott Nuttall made two changes to his starting XI that lost 2-1 to Tema Youth. Goalkeeper Samuel Akurugu was handed his debut game of the season as he replaced Ben Mensah while Sam Yeboah replaced Cosmos Dauda.
Kotoko on the other hand, made only one change in their side, Abeiku Ainooson made way for Ashittey Ollenu, who was facing his former club after crossing carpet in December.
Confidence around the Stadium, among the Phobians supporters, was shaky before the game following their dreadful start to the campaign, especially, after the defeat to Tema Youth on Wednesday.
Kotoko controlled the midfield with a 3-5-2 formation, putting the hosts under pressure. On 12th minute, Ahmed Adams spurned a glorious opportunity to open the scoring for Kotoko. He raced into the penalty area and connected a free-kick from Eric Donkor but his effort was wide. Yakubu Mohammed also forced a fingertip save from goalkeeper Akurugu two minutes later.
However, after a slow start, Hearts began to control proceedings by the half-hour mark but failed to create decent chances.
After the break, Alexander Kouassi Kouame saw a shot deflected into the side-netting and Samudeen Ibrahim also shot wide moments later as the hosts pushed for an early goal in the half.
On 63rd minute, Yakubu broke loose from Vincent Atinga and latched onto a pass from Donkor but the striker couldn't lob his effort past the onrushing Phobians' goalkeeper.
Zdravko Lugarusic brought on Baba Mahama for Frank Sarfo Gyamfi on 71st minute and the former Techiman City star almost scored the opener with his first touch. The midfielder combined with Gyamfi but his last ditch effort could only hit the side net.
Four minutes later, a typically feisty start culminated in a strong shout for a penalty from Kotoko supporters, after Mahama fell in the box, following a tackle by Inusah Musah but referee Samuel Sukah waved play on.
Hearts responded to their visitors' substitution and brought on Dauda. The striker's presence gave the hosts fire upfront as he constantly caused troubles to the Porcupine Warriors’ backline.
In a game in which opportunities were not at a premium, Hearts eventually found a breakthrough with seven minutes remaining. Samuel Yeboah, who was unusually quiet throughout the game, received a pass from Dauda and fired a shot at goal but it was blocked by Adams and referee Samuel Sukah pointed to the spot, insisting that he used his hand in the process.
After several minutes of protests by Kotoko players and technical team, Atinga stepped forward and sent goalkeeper Felix Annan to the wrong side.
Hearts have moved five places up to sixth position with 12 points, while Kotoko are second, tied on the same points with leaders Aduana Stars.