Leicester ended their winless Premier League run as Daniel Amartey's late goal saw them come from behind to beat Brighton 2-1.
The Foxes were looking to avoid making it four games without a win but went behind in the 10th minute through Adam Lallana's first goal for the Seagulls.
Neal Maupay saw a second chalked off for offside and Leicester improved in the second half, with Kelechi Iheanacho finishing off Youri Tielemans' fine pass to equalise.
The points looked set to be shared until the 87th minute, when goalkeeper Robert Sanchez came for a corner, completely missed it and Amartey nodded in.
The result lifted Leicester above Manchester United, at least until the derby against Premier League leaders City on Sunday.
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.