Ten man Reading lost out to a Swansea City side needing to fire four goals to find themselves in the top six - and the visitors nudged into the play-off places with a comprehensive victory in the end.
With a play-off place at stake, Swansea began sharply - Brewster finding a lovely pass to nearly thread the ball through for Gallagher, only for the latter's stretch to fail to bring the ball under control in the box.
Then a deep cross from the left was met on the half-volley by Connor Roberts, but the ball bounced up off the pitch and flew over the crossbar.
Reading strung some passes together to create an opportunity of their own soon after, Swift delivering a nice cross into the area where Meite rose but was sandwiched out between two defenders challenging for the aerial ball.
But from nowhere, the Swans took the lead with a powerful drive from Brewster. He took aim from a full 25 yards out and the ball swerved through the air to beat Rafael's dive and rippled the Royals' net.
Swift looked to respond when he whipped a set piece just over the crossbar, following a good penetrating run from Andy Rinomhota which was halted illegally on the egde of the City area.
Meite dragged a left-footed effort harmlessly wide after the drinks break and then Swift forced Mulder into a smart save when he was found by a good counter attack and cross led by Olise - the midfielder's diving header was smothered by the Swansea keeper.
Reading came close again when Puscas sprung the offside trap and backheeled the ball into the path of his strike partner. Meite hammered a shot at goal from a narrow angle but Mulder parried it clear.
And how the home side weren't level on the half hour is unfathomable. Olise ran at the defender and into the crowded City box before taking aim with his left foot. The ball seemed to smack into a Swansea arm but as appeals for a penalty were dismissed, the ball ricocheted around and looped over Mulder and against the Swansea crossbar. The loose ball was pounced upon by Morrison but his stabbed effort was charged down and City's lead remained intact.
But an altercation off the ball between Meite and Mike van der Hoorn threatened to halt the Royals' good spell as the referee showed a red card to the Reading forward and the City defender remained uncautioned.
But Mark Bowen's men were level moments after the restart when Rinomhota burst into the box and reached the ball before a City defender who tripped the midfielder and sent him tumbling to the floor. The referee pointed to the spot and George Puscas made no mistake, firing through the palms of Mulder to level matters.
A strike from distance fell so kindly for Jay Fulton near the end of the half, but his first time stab was wide of both Rafael and the left upright.
A double save from Rafael denied Ayew and then Roberts as Swansea so nearly stole the lead on the stroke of half-time.
Half-time | Reading 1-1 Swansea City
Knowing they needed victory and potentially a good goal swing to force themselves into a top six spot, City came out all guns blazing. Gallagher arrowed over and Ayew headed wide from a corner.
Matt Grimes came close with a free kick that fizzed inches wide of the bottom left corner.
But the ten men of Reading were causing problems themselves - Morrison recycled an uncleared corner and dinked the ball across goal for his fellow centre-back to head goalwards but wide - Liam Moore with his head in his hands after coming close.
And Puscas connected with a diving header but couldn't direct a difficult chance on target.
Moments later, Swansea retook the lead - a simple ball over the top was cushioned by an onside Wayne Routledge's first touch. His second, without the ball bouncing lofted the ball over the onrushing Rafael in another fabulous finish.
Mulder had to save a low Puscas drive with his legs after the second drinks interval.
Ayew slid in to try to connect with a low passed cross from Bidwell and he got his toe to it but could only direct it across goal and wide of the right post.
City were spurred on by news that Forest were losing and more goals might be enough to earn them a play-off berth but Reading nearly caught the visitors on the break when Rafael quickly distributed the ball out to Olise who crossed to the far post where Puscas' slide was just not enough to stab the ball home.
Swansea did have a third though when substitute Liam Cullen slotetd inside the right post to make it 3-1. Suddenly, one more goal might be enough for City.
Grimes took aim and the ball deflected off a Reading leg and looped towards goal only for Rafael to punch it over his bar.
Substitute Lucas Boye nearly pulled one back but a superb sliding tackle from Marc Guehi denied the Royals forward after he had been fed by a pass inside from McCleary.
McCleary nearly found a way through too, springing the offside trap to scamper after a pass from midfield and bear down on Mulder. But his left-footed drive was saved by the City stopper.
Swansea were throwing caution to the wind and it worked. A floated cross from the right found Routledge in the middle and the offside flag stayed down as he nodded the ball into the Royals goal to make it 4-1 and edge the visitors into the play-off places.
Boye nearly spoilt Swansea celebrations when he chested a cross under control and tried an overhead kick that skewed wide. But 4-1 it ended and it proved enough to take the Swans into the end of season finale.
For ten-man Reading, a disappointing end.
Full-time | Reading 1-4 Swansea City
Reading: Rafael, Gunter, Richards, Miazga (Blackett 81), Morrison, Moore (c), Rinomhota, Swift (McCleary 75), Olise, Méïté, Pușcaș (Boyé 85).
Unused subs: Walker, Obita, Araruna, Masika, Adam, Osho.
Goals: Puscas 43 (pen)
Swansea City: Mulder, Guehi, Van der Hoorn (Routledge HT), Fulton (Dhanda HT), Grimes, Brewster, Ayew, Roberts, Bidwell, Gallagher, Cabango (Cullen 81).
Unused subs: Gould, Celina, Dyer, Kalulu, Rushesha, Garrick.
Goals: Brewster 17, Routledge 66, 90 Cullen 84.
Referee: Mr S Martin