The Roar, whose record 36-game unbeaten streak ended in their previous fixture against Sydney FC, looked disjointed and a slick Heart side took full advantage.
Jonatan Germano headed the visitors in front after 12 minutes and the Argentinian then turned provider for Eli Babalj to make it 2-0 15 minutes later.
Mitch Nichols reduced the arrears with 12 minutes to go but the Queenslanders were unable to conjure up an equaliser.
Despite the setback, Brisbane still top the table, three points clear of the Central Coast Mariners. Melbourne are third, a further two points back.
Melbourne's early possession yielded the opener when Germano lost his defender at a corner and headed in.
The Heart doubled their advantage in the 27th minute when Germano flew down the sideline before curling in the perfect cross for Mate Dugandzic, who showed presence of mind to square back for Babalj to finish a brilliantly worked goal.
Nichols pulled one back in the 78th minute when he tapped home Kofi Danning's cross.
Besart Berisha had the chance to equalise with three free-kicks in good positions but could not beat Heart goalkeeper Clint Bolton.