Manchester City reach Carabao Cup final despite Matic’s winner for United

David Hytner at the Etihad Stadium

Remember Paris, Pep Guardiola had cautioned after his Manchester City team’s 3-1 first-leg victory in this Carabao Cup semi-final. Remember Paris, Ole Gunnar Solskjær had trumpeted in the countdown to the second leg. It could be done.

His Manchester United had done it before – in last season’s Champions League last 16, when they overturned a two-goal deficit from the home leg to upset Paris Saint-Germain in frankly ludicrous fashion.

Related: Manchester City 0-1 Manchester United (3-2 agg): Carabao Cup semi-final, second leg – as it happened

This game should not have been close. City’s superiority was plain for long spells but a combination of United’s doggedness and their own profligacy ensured it went down to the wire. Nemanja Matic’s bolt from the blue on 35 minutes had advertised a comeback to rival the one in Paris and when Fred stood over an 87th-minute free-kick on the edge of the City area, the home supporters felt their hearts thump.

Matic had been sent off by then for checking Ilkay Gündogan – a second bookable offence – and City had blown yet more chances. But there was Fred with the chance to take the game into penalties. His shot hit the wall. Really, it would have been too much.

United’s reality had been shaped by the first half of the first leg at Old Trafford when they lost their composure and three goals. “It’s a steep mountain to climb,” Solskjaer had remarked afterwards and there was the sense that United had nothing to lose in this second leg. Could they embrace a feeling of liberation and have a go? Never mind Paris, they had a piece of recent history on their side in the 2-1 Premier League win here last month.

City had to manage the first-leg cushion, to strike the balance between going for the kill and keeping the back door bolted. Guardiola rested a host of stars, including Ederson, John Stones, Fernandinho and David Silva, but his starting XI still bristled with quality and threat.

Nemanja Matic is sent off for a second yellow card in the 76th minute. Photograph: Paul Ellis/AFP via Getty Images

United had begun in fine style in the league fixture – since when, as an aside, City had won 11 of 13 fixtures – but on this occasion it was Guardiola’s side that looked in the mood from the early running. Were it not for David de Gea the home team would have been in front within 10 minutes. First the United goalkeeper sprang to his right to keep out a Sergio Agüero header following Bernardo Silva’s lovely ball over the top and then he blocked Riyad Mahrez’s deflected shot with his legs. Agüero, who had eluded Luke Shaw, will feel that he should have scored.

Related: Van de Donk puts Arsenal into League Cup final at Manchester City’s expense

Perhaps United needed time to work out what Guardiola had done with his starting formation. It was certainly an innovative one, best pinned down as 3-2-4-1. It asked Mahrez and Raheem Sterling to work in the wide areas while giving all kinds of freedom to Kevin De Bruyne and Silva in the central attacking-midfield roles. Behind them Rodri and Gündogan provided the security.

It was a ploy designed to give City control of the ball and the tempo. If United could not force the issue how could they hurt City? Solskjaer’s mind whirred. He had set up in a 3-4-1-2 system, with Jesse Lingard in the space behind the strikers, but the manager would ask Mason Greenwood to tuck in alongside Lingard at times.

For the opening half hour City dominated. They had further sniffs of goal. De Gea turned away an Agüero shot that was bound for the near, top corner and Harry Maguire had to stretch into a saving challenge on Sterling after De Bruyne’s beautifully curled through-ball.

United survived. And then they prospered. They knew they had to score the opening goal and, having flirted with conceding it, they did so. What a strike it was from Matic, who got his body shape right in a heartbeat after Fred’s free-kick had flicked off Silva’s head before steering a side-on, first-time effort inside the near post from just inside the area. Game on.

Sterling had a goal correctly ruled out for offside in the 42nd minute following a De Bruyne cross but, moments earlier, City’s sudden nervousness had been reflected when Sterling allowed a pass to slide under his studs and out for a throw. The home crowd howled. What was going on?

Raheem Sterling turns the ball into the net only for the goal to be ruled out for offside. Photograph: Laurence Griffiths/Getty Images

United had worked their way through the City press a couple of times in the first half without finding a final pass but they sensed that their rivals could be vulnerable. Guardiola’s team defended best when they hogged the ball and kept it away from their goal. When they actually had to defend, they looked jittery.

Solskjaer swapped Greenwood for Dan James at half-time and Maguire headed over from Fred’s free-kick – a fine chance wasted. United knew that they might need only one more goal and the tie hung unexpectedly, tantalisingly, in the balance. It was easy to pick up on Guardiola’s edginess and that of the home fans.

Related: Salah and Oxlade-Chamberlain sink West Ham to keep Liverpool rolling on

City needed the soothing balm of another goal and Sterling should have scored it when he raced clean through on to the outstanding De Bruyne’s pass. Yet he dallied, skated square, away from challenges, before blasting high.

It was strange to say the game felt close because when City had the ball and they wove their patterns, the gulf in class was pronounced. United’s passing and movement was heavy and predictable, by contrast. Yet with the one goal in it, this remained a gripping watch.

City continued to miss, most comically when Agüero robbed Maguire but neither the substitute, David Silva, nor Gündogan wanted to shoot. Agüero had a goal pulled back for a hairline offside call. United clung on. This time, though, there was to be no miracle.