Adelaide-legend John Aloisi scored the winner in injury time after a clever strike with the outside of his foot which took a slight deflection off Adam Hughes and past Eugene Galekovic, minutes after Simon Colosimo equalised for the visitors.

A corner was delivered into the hot stop and three Heart players rose unchallenged with Colosimo getting his head to the ball and nodding home from close range.

Galekovic was booked in the ensuing scuffle as United were made to rue missed chances when they were leading 1-0.

On the stroke of half time, the Reds went ahead through Sergio van Dijk whose perfectly placed header powered into the bottom corner.

Marcos Flores threaded a through ball for Travis Dodd and the captain's delightful cross fell perfectly for van Dijk who gave Clint Bolton no chance from eight metres.

In his first game back for over a month, Daniel Mullen slotted into the centre of defence in the absence of the injured Robert Cornthwaite but succumbed to injury just after the half hour.

Reds midfielder Adam Hughes was shifted into the heart of the back four while Joseph Keenan was brought on into the middle of the park.

The switch unsettled the Reds in the lead up to half time with the Heart gaining the ascendancy and it was a similar story in the second half with Melbourne pressing for an equaliser.

Colosimo eventually got a deserved leveller before Jason Hoffman teed up Aloisi to snatch an injury time winner with a neat finish.