Hearts roared back from 3-1 down to clinch a Europa Conference League play-off with PAOK after a breathtaking contest with Rosenborg at a raucous Tynecastle.
Izak Thorvaldsson’s early goal had Hearts in trouble after their 2-1 defeat in Norway, his second effort sneaking under Zander Clark after the goalkeeper initially made a sublime save.
However, Lawrence Shankland started the turnaround by delightfully dinking Hearts level on the night, timing his breakaway from the final line of defence perfectly.
Rosenborg were rattled, and Hearts capitalised swiftly in the second half as Cammy Devlin rippled the roof of the net from an acute angle after composed build-up play to level the tie at 3-3 on aggregate, before his deflected stoppage-time strike snatched an unlikely win.
Frankie McAvoy’s side will now face Greek side PAOK, with the first leg at Tynecastle next Thursday.
- Why Hearts can’t afford to lose talismanic Shankland
- Podcast: Hearts bound for Greece after epic comeback
- All your Hearts news in one place
The announcement minutes before kick-off that Tynecastle would be a sell-out was met with a rasping roar. One which stayed in the air until Clark was caught clasping as the ball trickled over the line, extinguishing the energy.
Hearts heads did not fall, though, and before Shankland’s equaliser sparked bedlam, Yutaro Oda struck the woodwork with a thunderous effort rather than squaring to the loitering Liam Boyce.
Chances were squandered by Frankie Kent and Kye Rowles as the centre-backs meandered into promising positions up the other end. Nat Atkinson, though, stuck to his duty of defending, hooking the ball off the line after a messy episode.
Hearts seemed to be running out of puff and ideas as they allowed Rosenborg to regain their rhythm. Extra time, at the very least, seemed likely.
Then Devlin delivered yet again. Creating chaos, cries and cannot-believe-it scenes in the stands of a beyond-jubilant Tynecastle.
Player of the match – Cammy Devlin
Perseverance pays off for tireless Hearts – analysis
Wow. Just wow. Hearts were slow starters but it was almost the kick into gear they needed. They soon looked like a team comfortable in this sort of arena.
That said, there was sloppiness from both sides, just like there was last week, but that provided Hearts with the confidence that Rosenborg were there for the taking.
Devlin may be diminutive, but he rose in stature here, taking responsibility and his chances in his stride.
The midfield trio wasn’t quite ticking in the first half and it appears McAvoy and co are still not quite sure which combination works best.
Things will need to tighten up at the back for the visit of PAOK, but it seems harsh to criticise this gutsy Hearts side right now.
What they said
Hearts head coach Frankie McAvoy: “I spoke about patience yesterday; even when we lost the early goal it wasn’t a great start but that can happen. It’s about how you recover.
“When you have support like that, they drove us on. We knew it would be a tough tie. Sometimes you need good fortune.
“A trip to Greece will be tough as well, but we’ve got to embrace these occasions.”
Hearts captain Lawrence Shankland: “We knew the objective was to win it, thankfully we’ve scored enough. It’s a tough task [against PAOK], but we go again.”
On reports linking him with a move to Saudi Arabia, he added: “I live in the here and now. I enjoy nights like this and I’ll keep enjoying it.”
What’s next?
Hearts are back at Tynecastle on Sunday, 20 August to face Partick Thistle in their first League Cup game of the season (14:00 BST).
Player of the match
DevlinCameron Devlin
with an average of 8.64
Heart of Midlothian
-
Squad number14Player nameDevlin
-
Squad number9Player nameShankland
-
Squad number10Player nameBoyce
-
Squad number3Player nameKingsley
-
Squad number19Player nameCochrane
-
Squad number13Player nameAtkinson
-
Squad number28Player nameClark
-
Squad number18Player nameMcKay
-
Squad number2Player nameKent
-
Squad number15Player nameRowles
-
Squad number22Player nameDenholm
-
Squad number11Player nameOda
-
Squad number30Player nameTagawa
-
Squad number17Player nameForrest
-
Squad number21Player nameSibbick
-
Squad number16Player nameHalliday
Rosenborg
-
Squad number41Player nameNypan
-
Squad number25Player nameAndersson
-
Squad number17Player nameThorvaldsson
-
Squad number1Player nameHansen
-
Squad number14Player nameFrederiksen
-
Squad number16Player nameRøsten
-
Squad number8Player nameBørkeeiet
-
Squad number2Player nameReitan
-
Squad number19Player namePereira
-
Squad number23Player nameYttergård Jenssen
-
Squad number32Player nameCornic
-
Squad number28Player nameWiedesheim-Paul
-
Squad number10Player nameHolse
-
Squad number21Player nameSkarsem
-
Squad number44Player nameHolte
Line-ups
Hearts
Formation 4-4-2
- 28Clark
- 13Atkinson
- 2Kent
- 15Rowles
- 3Kingsley
- 11OdaSubstituted forMcKayat 45′minutes
- 22DenholmBooked at 32minsSubstituted forForrestat 66′minutes
- 14DevlinSubstituted forHallidayat 90+8′minutes
- 19CochraneBooked at 34minsSubstituted forSibbickat 90+5′minutes
- 9Shankland
- 10BoyceSubstituted forTagawaat 66′minutes
Substitutes
- 7Grant
- 8Nieuwenhof
- 12McGovern
- 16Halliday
- 17Forrest
- 18McKay
- 21Sibbick
- 25Tait
- 30Tagawa
- 36McFarlane
- 51Lowry
Rosenborg
Formation 4-3-3
- 1Hansen
- 25AnderssonSubstituted forCornicat 89′minutes
- 2ReitanSubstituted forRøstenat 73′minutes
- 23Yttergård Jenssen
- 19PereiraBooked at 16mins
- 21SkarsemSubstituted forWiedesheim-Paulat 59′minutes
- 8Børkeeiet
- 41Nypan
- 10Holse
- 17ThorvaldssonBooked at 81minsSubstituted forHolteat 89′minutes
- 14Frederiksen
Substitutes
- 5Skjelbred
- 6Väänänen
- 15Rogers
- 16Røsten
- 20Tagseth
- 24Tangvik
- 28Wiedesheim-Paul
- 32Cornic
- 44Holte
Match Stats
Live Text
-
Match ends, Heart of Midlothian 3, Rosenborg 1.
-
Second Half ends, Heart of Midlothian 3, Rosenborg 1.
-
Substitution, Heart of Midlothian. Andrew Halliday replaces Cameron Devlin.
-
Foul by Adrian Pereira (Rosenborg).
-
Nathaniel Atkinson (Heart of Midlothian) wins a free kick in the defensive half.
-
Substitution, Heart of Midlothian. Toby Sibbick replaces Alex Cochrane.
-
Corner, Rosenborg. Conceded by Zander Clark.
-
Attempt saved. Rasmus Wiedesheim-Paul (Rosenborg) right footed shot from the right side of the box is saved in the top right corner. Assisted by Magnus Holte with a headed pass.
-
Goal! Heart of Midlothian 3, Rosenborg 1. Cameron Devlin (Heart of Midlothian) right footed shot from outside the box to the centre of the goal. Assisted by Lawrence Shankland.
-
Attempt missed. Cameron Devlin (Heart of Midlothian) right footed shot from more than 35 yards misses to the left. Assisted by Kyosuke Tagawa.
-
Substitution, Rosenborg. Leo Cornic replaces Adam Andersson because of an injury.
-
Substitution, Rosenborg. Magnus Holte replaces Ísak Thorvaldsson.
-
Corner, Heart of Midlothian. Conceded by Adam Andersson.
-
Foul by Sverre Nypan (Rosenborg).
-
Cameron Devlin (Heart of Midlothian) wins a free kick in the defensive half.
-
Adam Andersson (Rosenborg) wins a free kick in the defensive half.
-
Foul by Cameron Devlin (Heart of Midlothian).
-
Corner, Rosenborg. Conceded by Frankie Kent.
-
Ísak Thorvaldsson (Rosenborg) is shown the yellow card for a bad foul.
-
Foul by Ísak Thorvaldsson (Rosenborg).