Berisha sent off as Roar scrape past Heart
Brisbane's win was tainted by the sending off of their star striker, who became the first A-League player to receive three red cards in one season when he was given his marching orders in the 49th minute.
The Heart took a first half lead thanks to a delightful team goal finished off by Aziz Behich before Dimitri Petratos equalised for the Roar before the break.
A curling Henrique effort in the 73rd minute won the game for Brisbane after the Brazilian had come on as a substitute six minutes earlier.
Berisha was left in tears after being shown the red card four minutes after half time as a result of lunging in for the ball at the same time as Heart keeper Tando Velaphi and catching him in the head with his studs.
As it was only his second direct dismissal of the campaign he will only receive an automatical one-match suspension, meaning he could be back for the Roar's final regular-season game.
The Heart paid tribute to the newly crowned Premiers by giving them a guard of honour as they took the field, but that respect evaporated once the match had kicked off, with the visitors starting the game at full throttle.
John Van't Schip's side thought they had won a penalty with just 34 seconds of the match gone when referee Chris Beath pointed to the spot after Liam Miller pulled down Behich in the area, but he overturned the decision when he saw the offside flag raised.
Brisbane's deep-lying playmaker Luke Brattan was absent from the starting lineup for the first time in 38 matches, and his side clearly lacked an anchor in midfield as the Heart took control of the centre.
Roar old boy David Williams pick-pocketed Matt Smith and raced through on goal after 12 minutes before opening up his body and shooting across the face of goal from inside the box.
The visitors continued to pile pressure on the Roar and Patrick Kisnorbo leapt highest to meet a free kick cross but his header crashed against the post.
Williams then had another opportunity in the ensuing scramble, however his shot from point blank range went straight at Theo.
The Heart took a deserved lead two minutes later when Massimo Murdocca drove forward before playing a pass across goal to Mate Dugandzic, who laid it back for Behich to crack home.
Brisbane had looked unimpressive and somewhat uninterested until they found an equaliser in the 36th minute.
Thomas Broich eluded a pair of Heart defenders on the left before finding Petratos in the area, and the right-sided attacker passed backwards to Smith before receiving a clever return ball and sliding a shot under Velaphi.
Four minutes before the break the Melbourne Heart keeper nearly gifted Brisbane a goal when his throw out went straight to Petratos who put Berisha through on goal, but the striker was unusually wasteful as he fired his attempt straight at a relieved Velaphi.
Berisha was dismissed soon after the break when he and Velaphi dove in at the same time for a ball, and the Albanian's boot rolled over the ball and into the keeper's head.
As they have done previously this season, the Roar took the game to their opponents despite being a man short.
Liam Miller somehow fired over after finding himself unmarked at the back post but Brisbane would soon get a goal as reward for their endeavour.
After coming on as a substitute, Henrique bombed a one-on-one chance before curling in a fabulous goal from the edge of the area.
The Brazilian was full of confidence following his strike, and attempted a long-range effort soon after which Velaphi handled easily.
Brisbane Roar 2 (Petratos 36, Henrique 73)
Melbourne Heart 1 (Behich 18)
Crowd: 10,101 @Suncorp Stadium