Swansea secured a Sky Bet Championship play-off place with a hard-earned 2-2 draw at Reading, whose own top-six aspirations were ended by the result.
Barnsley and Bournemouth join the Swans in the end-of-season shoot-out alongside already-qualified Brentford.
Swansea dominated much of the first half but fell behind against the run of play when Yakou Meite nodded home in the 31st minute.
Opportunist second-half efforts from Jamal Lowe and top scorer Andre Ayew gave Swansea the lead, with Tomas Esteves' late equaliser for Reading proving irrelevant.
Swansea had been in indifferent form going into the game, winning only two of their previous eight matches and losing five.
Reading were on a poor recent run of just one victory in eight games and had slipped to seventh place.
The Swans began the stronger in the sunny yet chilly conditions and could have gone ahead in the opening minute.
Lowe swung over a cross from the left flank to the far post where centre-back Ben Cabango rose powerfully but was unable to keep his header on target.
Wayne Routledge had a well-struck effort deflected away by home captain Liam Moore and Lowe volleyed wildly over from the edge of the area.
Reading gradually improved and served warning of intent when 22-goal top scorer Lucas Joao sent a low 20-yard effort narrowly wide.
Just past the half-hour mark, Reading went in front. John Swift curled in a teasing cross from the left and Meite ghosted in ahead of Jake Bidwell to guide in a firm header for his 11th goal of the season.
Reading could have increased their lead shortly before the break but Swansea goalkeeper Freddie Woodman saved well from Joao after the Portuguese striker had seized on an error by Conor Hourihane.
Swansea started brightly in the second half, with Lowe finding plenty of space on the left wing.
From a Lowe cross, Liam Cullen should have done better with a header that lacked direction and failed to trouble home keeper Rafael.
But the visitors drew level in the 67th minute after excellent work by substitute Ayew, who had been on the pitch only three minutes.
Ayew cleverly nutmegged Moore, which allowed Jay Fulton to run through and force a fine stop from Rafael – only for Lowe to tuck in the rebound.
Swansea went in front with seven minutes remaining. Hourihane did all the hard work as he cut in from the left and played a perfect square pass to allow Ayew to slot in his 16th goal of the campaign.
Lowe also struck a post near the end, shortly before Esteves drilled in a fine stoppage-time equaliser from distance, but Swansea held on for their play-off place.
No Data Analysis info