Newcastle United knocked Sunderland out of the Premier League International Cup after a dramatic penalty shootout tonight.
The two clubs' Under-23 sides drew 2-2 after extra-time and the semi-final tie went to penalties.
And Sunderland's Jake Hackett missed the decisive penalty as Newcastle secured a home semi-final tie against Porto.
United had taken the lead through a Curtis Good goal, but Lynden Gooch had struck a goal in each half to put Elliot Dickman's side ahead.
But Callum Roberts took the game into extra-time with a stunning free-kick in injury time and Newcastle won the shootout 11-10 after Hackett put his second effort over Paul Woolston's goal.
The game was the first reserve derby since February 2014, when Sunderland beat Newcastle 2-0 at the Stadium of Light. Jordan Pickford was in goal for the home side that night, while Paul Dummett and Adam Armstrong were in the visiting team.
There wasn't much experience in either starting XI this time, though Sunderland coach Dickman named Gooch and Brendan Galloway in his team. Ben Dawson, his United counterpart, only fielded two players – Good and Callum Roberts – who had played a competitive first-team game for the club.
Newcastle wingers Roberts and Victor Fernandez made some early runs down the flanks, but the home side had the game's first real chance. Gooch found space in the box to get a shot away, but Craig Spooner, stood in front of the line, blocked his shot and cleared the ball.
Sunderland probed away without creating a clearout chance before United got their breakthrough in the 28th minute. They won a free-kick on the right, and Roberts' delivery was powerfully headed home by Good.
The lead lasted 10 minutes. Gooch was brought down in the box by Mackenzie Heaney late in the half, and referee Simeon Lucas pointed to the spot.
Gooch put his penalty into the bottom right-hand corner before running a few yards to celebrate in front of Newcastle's noisy travelling support.
Benjamin Mbunga-Kimpioka had a deflected shot tipped over by Woolston before the half-time break.
Dickman replaced the injured Brandon Taylor with Alex Story for the second half, and Luke Charman, leading the line for United, had a shot superbly blocked by Josh Robson. Otherwise, chances were few and far between. Fernandez and Roberts didn't see enough of the ball, while Sunderland struggled to create anything in the final third of the pitch.
That all changed when Connor Shields broke down the left and crossed for Gooch at the far post. The forward, in space, controlled the ball and shot past Woolston to put Sunderland ahead. A number of seats were ripped up in the away end after the goal.
United pressed for an equaliser, but they couldn't carve out any clearcut opportunities, and Gooch, replaced by Owen Gamble, left the field to warm applause from home fans late in the game.
Just as Sunderland looked set to book their place in the last four, Brendan Galloway conceded an injury-time free-kick. Roberts stepped up and beat Max Stryjek with a superb 30-yard free-kick.
Robson conceded a penalty in the first period of extra time for a foul on Owen Gallacher, but Robert's spot-kick was pushed away by Stryjek.
Newcastle saw more of the ball in the period, but couldn't make their possession count.
Charman put a header wide from a deep cross from Callum Smith in the second period, and Good and Gallacher struck the woodwork.
The game went to a lengthy penalty shootout and Hackett's miss put Newcastle into the last four.
SUNDERLAND: Stryjek, Robson, Hume, Embleton, Taylor (Storey, 46), Galloway, Molyneux, Hackett, Shields (Diamond, 68), Gooch (Gamble, 82), Mbunga-Kimpioka. Subs not used: Talbot, Connelly, Kokolo, Mumba.
NEWCASTLE UNITED: Woolston, Spooner (El-Mhanni, 81), Yarney, Good, Newberry, Hunter, Fernandez, Sangare, Charman, Heaney (Gallacher, 71), Roberts (Smith, 105). Subs not used: Huuhtanen, O'Connor, Kitchen, Bartlett.