John Stones ended his long goal drought as holders Manchester City secured a 2-0 derby win over Manchester United to set up an EFL Cup final showdown with Tottenham.
Stones has been outstanding at the heart of the City defence since forcing his way back into the side this season and he scored his first City goal in 1,162 days at Old Trafford on Thursday (AEDT).
The in-form centre-back had earlier put the ball in his own net but Marcus Rashford was offside, summing up how his fortunes have changed.
United were unable to respond following Stones' goal early in the second half and Fernandinho doubled City's lead seven minutes from time with an excellent finish.
Pep Guardiola's side were worthy winners, dumping their neighbours out at the same stage they did 12 months ago as they aim to win the competition for a fourth consecutive season.
Stones was relieved to see the flag raised after the ball bounced off him and into his own net before Ilkay Gundogan had a goal ruled out for offside at the other end in a pulsating start after a poignant minute's silence for City legend Colin Bell, who died at the age of 74.
Zack Steffen denied Bruno Fernandes with a magnificent one-handed save at full stretch and Kevin De Bruyne tried his luck with a rasping drive from 20 yards out.
City were dictating the tempo and Phil Foden was also denied an opening goal after straying just offside in an entertaining, but goalless first half.
It took less than five minutes of the second half for the opening goal to arrive, though, Stones finding the back of the net for a second time on the night when he turned Foden's inviting free-kick in with his left thigh.
Dean Henderson tipped Raheem Sterling's header around the post and produced a fine save to keep out Riyad Mahrez's venomous strike as City scented a second goal.
United could not find a way through a well-drilled City defence and Fernandinho settled it, firing home with his right foot from outside the penalty area following a corner from the right.