It was a second straight 2-0 defeat to a side from the capital as the Dons were second best at Tynecastle.
Returning from the international break, Barry Robson made two changes to the side beaten by Hibs, Leighton Clarkson and debutant Stefan Gartenmann replacing Connor Barron and Angus MacDonald, who both started from the bench.
There were also two changes for Hearts, beaten 1-0 at home to Motherwell last time out. Stephen Kingsley and Kenneth Vargas replaced Alex Cochrane and Alex Lowry.
James McGarry got things off to an explosive start for the Dons in the second minute, stepping inside after receiving the ball from Graeme Shinnie and stinging the palms of Clark with a 20 yard drive with his right foot.
Hearts had their first chance on nine minutes, Clarkson giving away possession on the edge of the area, Shankland poking a shot wide of the target after his side had exchanged a couple of passes. Haring was in the book for a late challenge on Jamie McGrath two minutes later.
Kelle Roos was in action on 12 minutes, at full stretch to his right to paw away a shot across goal from Atkinson after McGarry was dispossessed, Hearts beginning to find their feet after a good start by the Dons. They were in front on 13, breaking away through Boyce who brought the ball forward and fed Oda on the right. Coming inside, he speared a shot across goal and in with a fierce finish.
Aberdeen responded with another McGarry shot from outside the box on 21 minutes, Clark having to push the ball behind for a corner. Clarkson was in the book on 25 for impeding the taking of a free-kick. Duk needed lengthy treatment after going up for a header with Kent after 26 minutes before being pronounced fit to continue.
The Dons were on the break through Duk moments later, bursting through the middle before releasing Shinnie who appeared to be scythed down on the edge of the box, but nothing was given. Kent was booked for a foul on Duk moments later. Boyce was carded almost immediately afterwards for a late lunge on McGrath. In the aftermath, Oda required treatment and was replaced by Forrest on 33 minutes.
Aberdeen escaped on 35 minutes, Roos losing his bearings on a cross to the back post, McGarry having to tidy up as Forrest looked set to bundle the ball over the line. Boyce then arrowed a shot wide of goal when given too much time and space in the middle of the goal 25 yards out.
The half ended with a couple of skirmishes between Duk and Atkinson, the referee wisely keeping his card in his pocket.
HALF-TIME: HEARTS 1 ABERDEEN 0
Nicky Devlin dropped into right-back as the Dons went for a back four at the start of the second half. Miovski took his side forward three minutes into the half, swiping a shot across goal and wide from distance. Nieuwenhof replaced Haring on 50 minutes for Hearts.
A Shankland ball over the top had Vargas on the chase, Slobodan Rube i coming across to make an important sliding tackle as Vargas prepared to shoot after 53 minutes. Atkinson was next to go in the book, chopping Miovski down on halfway as Aberdeen were on the break. Straight afterwards, Ryan Duncan replaced McGarry.
Hearts were a whisker away from doubling their lead on the hour, Vargas thundering a shot against the crossbar from 25 yards out – Rube i was booked for a foul in the build-up to that effort. Three minutes later, Shankland drove forward before pulling a shot wide from 25 yards.
It was 2-0 on 64 minutes, Boyce on hand to pick up the pieces after Roos made a fine reflex save as McGrath got a block on a Nieuwenhof shot. Boyce was quickest to react to the loose ball and he stabbed the ball in. Hearts made a double change in the wake of it, Grant and Sibbick replacing Atkinson and Boyce. Aberdeen made three changes Ester Sokler, Pape Guèye and Connor Barron coming on, McGrath, Miovski and Clarkson all making way after 67 minutes.
The changes took time to have an impact as the game began to drift towards its end, the Dons unable to find anything to trouble the home side. Guèye troubled Clark for the first time in the second half as the game headed into the last ten minutes, controlling a deflected effort from Shinnie before turning and firing in a low effort that Clark handled down to his left. Guèye was involved again on 86 minutes, heading down a Duk cross, Sokler’s shot from it blocked away to safety.
Roos had to produce another save on 91 minutes, Shankland finding Cammy Devlin in space 25yards out, Roos pawing away his effort for a corner, Hearts keeping the ball there for the next minute as they ran down the clock to secure their points.
2+1 minutes added at end 1st half
4 minutes added at end 2nd half