Hearts took control of the game after just four minutes, thanks to striker Daniel Afriyie Barnieh’s eighth league goal of the season.
Suraj Ibrahim scored a stunning goal eight minutes later to extend the lead before Dreams pulled one back on the stroke of halftime.
Four minutes after the break, Dreams defender Abdul Jalilu put the ball in his own net, giving the Phobians the victory.
The victory follows the thrashing of the Accra Lions last weekend, which means Hearts of Oak have now won two games in a row for the second time this season.
Nonetheless, Hearts of Oak are still 12 points behind Kotoko at the top of the table. The Porcupine Warriors won in Sogakope on Saturday, snapping a two-game losing streak.
Franck Mbella Etouga rounded the goalkeeper and slotted home a second-half winner to give Kotoko their first away win against WAFA away from home.
The Cameroonian striker now has 18 goals, but his lead is under threat because AshantiGold’s sensational forward Yaw Arnor scored four goals on Sunday.
Annor’s goals propelled the Miners to a 5-1 victory in Obuasi, putting him two goals behind Etouga in the golden boot race with seven games left.
Real Tamale United kept up their recent good form with a 2-0 win over Accra Lions, moving them three points clear of the relegation zone.
Michel Otou and Hans Kwofie were both on target again on Sunday as Legon Cities secured a 2-0 win over bottom-placed Elmina Sharks. The Elmina club need a miracle in the remaining games to stay in the league.
Karela United defeated Bibiani Gold Stars at home, while King Faisal drew 2-2 with second-placed Bechem United in Kumasi.
Matchday 27 concludes on Monday with Aduana hosting Medeama in Dormaa.