Manchester City advanced to the Champions League semi-finals after playing to a 0-0 draw with Atletico Madrid in their quarter-final second leg.
It was clear from the outset that Atletico had set out to play a much more expansive game. City were having a lot less time in their own half, which made for a more end-to-end encounter.
With 30 minutes gone, Riyad Mahrez played a delightful ball with the outside of his foot to release Kyle Walker down the right and he cut it back into the box before it was offloaded by Phil Foden to Gundogan, who hit the post before it was scrambled away.
Gundogan was at the heart of things for Pep Guardiola's side as five minutes before the interval he played Joao Cancelo into space down the left flank and he cut inside to shoot on his right foot, only to lift his effort over the bar.
Antoine Griezmann came mightily close to levelling the scores when he latched on to an offload from Joao Felix on the edge of the box, but smashed his left-footed volley wide of the left post.
Felix and Angel Correa combined in the final third to open up space for Marcos Llorente and he reversed it to De Paul to strike inside the City box, but he could only curl his right-footed strike wide of the right post.
Atletico were going for it and it was unsettling City. In the 77th minute De Paul connected with a cross from Reinildo from the left flank, but he fired his effort wide of the right post.
Atletico defender Felipe was sent off in the 90th minute for needlessly kicking out at Foden after making a successful tackle on the City attacker.
Atletico had a glorious chance to win it at the end when a shot deflected into the path of Correa, who was clear on goal and fired towards goal but it was saved by the legs of Ederson to prevent the match from going to extra-time.
Here are the best-paid players in this season's Champions League
Liverpool secured their spot in the Champions League semi-finals after a 3-3 draw with Benfica in their quarter-final second leg saw them progress 6-4 on aggregate.
Liverpool opened the scoring in the 20th minute and as was the case last week it came from Moussa Konate when he headed home from an inswinging corner from the right by Konstantinos Tsimikas.
Out of nowhere Benfica equalised as Goncalo Ramos was found by Diogo Goncalves inside the area and fired a low shot past Alisson into the bottom left corner.
Jurgen Klopp's side would go back in front in the 55th minute. Benfica goalkeeper Odysseas Vlachodimos's miscued clearance went straight to Diogo Jota, who crossed for Roberto Firmino to tap home from close range.
Liverpool went up 3-1 with ease, as Benfica's defensive line switched off, and Firmino got unmarked at the back post to volley home Tsimikas' free-kick from the left flank.
In the 73rd minute Alex Grimaldo fed Roman Yaremchuk on the edge of the box, and the latter sprinted through and rounded Alisson before slotting the ball into the back of the net.
Benfica equalised on the night in the 81st minute when Darwin Nunez powered a shot from the left side of the box into the bottom-right corner, following a throughball from Joao Mario.
The Portuguese side throught they had edged in front in the 90th minute when Nunez finished from six yards out but it was ruled out for offside to end a thrilling encounter.