Arsenal's European hopes suffered a self-inflicted blow in a 1-1 Premier League draw with Burnley at Turf Moor.
The Gunners were dominant and led through Pierre-Emerick Aubameyang's sixth-minute opener but contrived to gift the Clarets an equaliser in the 38th minute.
Granit Xhaka picked up a short pass in his own area from goalkeeper Bernd Leno and inexplicably kicked the ball against Burnley forward Chris Wood, watching in horror as it flew into the net.
The defeat leaves Chris Wilder's side 12 points adrift of safety with just 10 matches remaining to save themselves.
Ward-Prowse netted from the penalty spot in the 32nd minute after Nathan Tella was brought down and Adams' superb strike four minutes after half-time gave Saints breathing space.
Romain Saiss' extraordinary miss forced Wolves to settle for a 0-0 derby draw at Aston Villa.
The defender fired over an open goal from a yard out after Conor Coady hit the post.
Emi Martinez also denied Coady in the second half at Villa Park as the hosts drew for just the fourth time this season.
Ollie Watkins and Ezri Konsa hit the woodwork for Villa during a dominant first half but they lost their way after the break and relied on Saiss' howler to claim a point.