Manchester City beat Sheffield United 3-0 in the semi-finals of the FA Cup on Saturday to reach June's showpiece clash.
Riyad Mahrez struck a hat-trick for the Sky Blues, who will face either Manchester United or Brighton & Hove Albion in the final.
Despite the obvious gulf in quality, United didn't let City have a smooth ride in the game, making them work hard at both ends.
The Blades even called Stefan Ortage into an early save as the Championship side showed they weren't intimidated by the occasion or their opponents.
City huffed and puffed but couldn't find a way past United until a penalty allowed them to finally have their breakthrough in the 42nd minute, with Mahrez converting from 12 yards.
The Algerian haunted them once again after the hour mark when Max Lowe lost the ball in the middle to him and the former pranced forward, evading Jack Robinson before slotting into the bottom corner.
Five minutes later, in the 66th minute, the former Leicester City ace completed his hat-trick after Jack Grealish expertly found him on the edge of the box.
Manchester City have reached their 11th FA Cup final and a first since the 2018-19 season, but for now, their attention turns towards the mouth-watering clash with Arsenal in the Premier League on Wednesday.
Here are the player ratings for Manchester City:
Stefan Ortega - 7/10
The City custodian got a rare start in goal and was called into action barely 90 seconds into kick-off as Ortage parried Iliman Ndiaye's header away. He had little to do thereafter.
Kyle Walker - 7/10
He got forward a lot and provided an outlet for City.
Manuel Akanji - 7.5/10
The Switzerland international read the game well to make three clearances and was strong in the air too, winning four of five duels.
Aymeric Laporte - 7/10
His tackling game was top-notch and made a crucial block off Chris Basham in the closing stages of normal time.
Ilkay Gundogan - 7/10
He fed Bernardo Silva with a slew of long balls and it was his free-kick delivery that eventually led to City winning the penalty in the first half.
Bernardo Silva - 7/10
The Portuguese midfielder won the penalty after being kicked down by Daniel Jebbison.
Sergio Gomez - 7/10
He made a poor clearance in the first half which caused a nervy moment in City's half but Gomez was otherwise alright. He even created a chance for Haaland in the second half but the Norwegian fired it wide.
Julian Alvarez - 6/10
He made some poor decisions on the ball and even failed to get on the end of a good cross in the first half. The Argentine also scuppered an opportunity to score in stoppage time.
Riyad Mahrez - 10/10
Manchester City's unlikely hero of the evening with a sensational hat-trick. A small piece of history to go with it too:
Erling Haaland - 6/10
An uncharacteristically poor game from the otherwise peerless Norgwegian, who failed to muster a single shot on target in the match and completed only eight passes in 68 minutes of action.
Probably his worst game in a City shirt so far.
Jack Grealish - 7/10
Excellent creative display from Grealish who laid three key passes, including the assist for Mahrez's hat-trick goal.
Substitutes
Cole Palmer (67' for Grealish) - 7/10
He produced an excellent run in stoppage time to breeze past Basham and feed a low cross to Foden, but the latter couldn't quite connect with it.
Phil Foden (68' for Haaland) - 7/10
Foden had two good moments in the dying seconds. He first unselfishly squared the ball to Alvarez but the striker drilled his effort wide and just seconds later, was at the receiving end of a cross from Palmer but failed to connect with it.
Kalvin Philipps (75' for Gundogan) - 6/10
He got disapossessed in the 80th minute by Oliver Norwood and United hit City on the break but Akanji was there to clear the danger, saving Philipps' blushes.
Rico Lewis (81' for Silva) - 6.5/10
He impeded a potential danger in the 87th minute by reacting quickly to Akanji's short pass and getting to the ball ahead of a vigilant Oli McBurnie.