Chelsea booked our place in the Champions League semi-finals for the first time since 2014 with an assured and hugely professional performance, despite a 1-0 defeat to Porto on the night in Seville.

Having a 2-0 lead from the first leg, we were happy to let our opponents do the chasing, confident in our ability to keep them at arm’s length in a hugely mature showing from the Blues.

All of our defensive solidity was on display as our experienced back three of Cesar Azpilicueta, Thiago Silva and Antonio Rudiger showed they know all about how to kill off a big European tie, also helped by a massive performance from the returning N’Golo Kante in midfield.

Deep into injury time we had restricted Porto to just one effort on target, a tame header from Mehdi Taremi which was easily saved by Edouard Mendy, although we hadn’t threatened much ourselves.

With just seconds left on the clock, Porto did pull one goal back with a spectacular overhead kick from Taremi that gave Mendy no chance, but it was too late from the Portuguese side in a game we largely controlled, with our place in the last four never really appearing in doubt.

The selection

Thomas Tuchel made three changes to his starting line-up to face Porto, but the front three which terrorised the Crystal Palace defence at the weekend continued, meaning Mason Mount and Christian Pulisic flanked Kai Havertz.

N'Golo Kante returns to the starting line up following injury, to partner Jorginho in midfield, as Mateo Kovacic missed out due to an injury of his own. Reece James returned on the right in place of Callum Hudson-Odoi, while Ben Chilwell got the nod again on the left.

At the back, Thiago Silva came in for Kurt Zouma after being suspended for the trip to Selhurst Park, and joined Antonio Rudiger and captain Cesar Azpilicueta in the back three, ahead of Edouard Mendy.

Porto coach Sergio Conceicao made just one change to the team from the first leg in Seville, with this season's top scorer Sergio Oliveira returning from suspension in midfield, in place of Luis Diaz.

Determined start by Porto

Our opponents began playing on the front foot, trying to pin us back in our own half, as you would expect from the team with everything to do after the first leg.

However, it was the Blues who came close to getting the early goal, as Mason Mount’s shot from just outside the box on the counter-attack deflected of a defender and looped up with the goalkeeper wrong-footed, but dropped just the wrong side of the post.

There was a heart-in-mouth moment just after the 10-minute mark, though, as a rushed pass out from the back by Mendy fell to Jesus Corona, but Jorginho did brilliantly to spot the danger quickly and rush in to make a vital block on the first-time shot.

It was clear Porto weren’t going to go out without a fight as the game settled into a pattern, despite the statistics saying it was Chelsea having the majority of possession, but a series of free-kicks from deep launched into our box was the closest they came to crafting a clear chance. Rudiger in particular was proving to be a match for anything they could throw forward, winning several important headers during that spell.

For our part, the counter continued to be our best route forward, using Pulisic’s pace and the energy of Kante and Mount. That was shown when the trio combined well as the Frenchman burst down the left, resulting in the ball being worked across the edge of the box to James on the right, but his low drive couldn’t find the target.

Kante was giving a good demonstration what we have missed during his absence by causing Porto all kinds of problems, looking for any opportunity to burst forward quickly after winning possession in midfield. Indeed, that was the source of nearly all our attacks in the first half-an-hour.

Neither team giving an inch

It certainly wasn’t fluid entertainment on show in Seville, though, with both sides prepared to scrap for a place in the semi-finals, resulting in a succession of fouls by both teams making it difficult to get a real rhythm going in the game.

The longer the first half went on the more the possession started to swing towards Porto, but that stop-start nature to the game certainly suited us more than them, given our 2-0 lead from the first leg, and we were giving the impression that we had the situation under control.

When Porto did manage to create their first clear chance of the game, there was still little for Mendy to worry about. It fell to Corona again, as he managed to get goal-side of Chilwell on a long ball over the top, and the Mexican had more time than he realised as he lashed an awkward volley well over the bar.

As the referee’s whistle blew it brought to an end an evenly contested but relatively uneventful first half, with no shots on target from either team, which definitely left those in Chelsea blue the happier of the two in Seville.

The start of the second half was very similar to how the first began, with Porto looking to play positively, but unable to find a route to goal. Our determination was brilliantly demonstrated by Mendy as he was flattened while claiming a corner, but still got up with both hands firmly on the ball after the referee had blown for the foul.

For our part, Oliveira was the first player booked as he cynically halted a Pulisic run as we tried to launch a dangerous looking counter-attack. However, the American will be disappointed he couldn’t adjust his body quickly enough to make good contact on Chilwell’s low cross on our next break forward, with what was probably our best chance of the game so far.

Turning the screw

As the second half went on we started to look for the killer blow which would put the tie decisively out of Porto’s reach, and it took a vital block to halt a Mount shot in the box at the end of a patient passing move, with Kante heavily involved again.

The Portuguese side responded by bringing on a second striker in Mehdi Taremi, who missed the first leg through suspension, and he managed their first effort on target, but his header lacked power and Mendy got down low to save comfortably.

However, neither that or the triple change that followed seemed capable of helping Porto find a way to unsettle our defence, although Thiago Silva was called upon to make one excellent clearance at full stretch when a cross found it’s way into our six-yard box.

The nominal away side continued to try launching crosses into our penalty area, but time and time again it was a Chelsea defender who rose to meet it.

The closing stages of the game saw the minutes gradually run out for Porto as we continued to provide an answer to every question they asked of us. However, there was nothing we could do when Taremi produced an incredible bicycle kick into the top corner to finally give his side a bit of hope.

It was far too late, though, as we had just seconds left to bring a commanding defensive performance to a close, during which we never looked like loosening our grip on a spot in the Champions League semi-finals despite that last-gasp consolation.

What's next?

The knockout football continues on Saturday, as we make the short trip to Wembley Stadium for our FA Cup semi-final against Manchester City, with kick-off at 5.30pm. The Premier League then resumes next Tuesday evening, with another 8pm start as we host Brighton at Stamford Bridge.

Chelsea (3-4-3): Mendy; Azpilicueta (c), Thiago Silva, Rudiger; James, Jorginho, Kante, Chilwell; Mount (Ziyech 86), Havertz (Giroud 90+2), PulisicUnused subs Caballero, Kepa, Christensen, Zouma, Alonso, Emerson, Hudson-Odoi, Abraham, Werner

Porto (4-3-3): Marchesin; Manafa (Nanu 75), Pepe (c), Mbemba, Sanusi; Oliveira (Vieira 84), Grujic (Taremi 63), Uribe; Corona (Diaz 75), Marega (Evanilson 75), OtavioUnused subs Ramos, Diogo Liete, Loum, Romario Baro, Martinez, Sarr, ConceicaoScorer: Taremi 90+4Booked: Oliveira 46, Corona 74, Pepe 82, Diaz 86, Taremi 90+5

Referee: Clement Turpin from France