Nervous Chelsea clinched a Champions League spot despite a 2-1 defeat at Aston Villa.
The Blues looked like they would need to win the competition against Manchester City on Saturday to qualify for next season after Bertrand Traore's opener and Anwar El Ghazi’s penalty.
Ben Chilwell pulled a goal back but Leicester’s 4-2 defeat to Tottenham ultimately saw Thomas Tuchel’s side finish fourth in the Premier League by a point, even after Cesar Azpilicueta was sent off late on.
Yet Tuchel also faces an anxious wait to discover if goalkeeper Edouard Mendy will be fit for the Champions League final in Porto after he was forced off at half time.
Villa, already guaranteed 11th, were second best before going ahead just before the break but wrapped up a season of progress with a gritty victory.
Knowing a win would seal their top four spot, Chelsea slowly built momentum and Chilwell’s rising drive tested Emi Martinez after 16 minutes.
Mason Mount’s 25-yard effort was easily gathered by the goalkeeper while Timo Werner wanted a penalty when Marvelous Nakamba blocked his shot.
There was plenty of movement and energy from the visitors but their first serious chance did not come until the 24th minute.
Villa’s resolve had held firm but they were briefly undone by Mount’s late run into the box yet, in front of watching England boss Gareth Southgate, he ballooned Azpilicueta’s cutback over from 12 yards.
Tuchel’s side had played the opening 30 minutes almost exclusively in Villa’s half but the hosts still gave them a couple of warnings when Traore shot wide and then John McGinn curled a yard off target after robbing Mateo Kovacic.
They were warnings Chelsea failed to heed and, despite dominating the half, they went into the break behind.
Ollie Watkins pressured Thiago Silva into conceding a corner two minutes before half-time and Traore met Matt Targett’s low delivery, with his looping effort dropping in off the bar.
It was a double blow for Chelsea as Mendy injured himself trying to keep the ball out and was replaced by Kepa Arrizabalaga at the break.
Yet they almost levelled two minutes into the second half when Werner escaped down the left and crossed for Christian Pulisic only for the forward’s shot to deflect off Targett and roll inches wide.
It was a crucial intervention as Villa doubled their lead after 52 minutes when Traore, who had been the hosts’ best outlet, was brought down in the box by Jorginho.
El Ghazi smashed the penalty beyond Kepa to put Villa in charge but Werner had a goal disallowed for offside soon after as Chelsea tried to fight their way back.
Their lifeline came with 20 minutes left when Chilwell converted Pulisic’s cross at the far post, Martinez just failing to keep it out.
Chilwell came close to an equaliser three minutes from time but was denied by Martinez and Azpilicueta was sent off for lashing out at Jack Grealish after the midfielder fouled him with two minutes left – but Leicester’s defeat bailed the Blues out.