Millwall secured the Championship with Duncan Watmore scoring the winning goal against his former team Sunderland.
After a goalless first half, Watmore came off the bench and homered, giving the Lions their third straight victory.
Sunderland posed a threat but were unable to find a breakthrough and ended up in mid-table.
The Black Cats, led by interim coach Mike Dodds, have not won at the Stadium of Light since defeating Plymouth on February 10.
Former Lion Dan Ballard nearly put the hosts ahead early on with a header over the bar from close range.
Millwall had a great chance in the opening 30 minutes, and when the ball came in from the right, Michael Obafemi ducked behind the front post and finally threatened. Luke O'Nien intervened and was able to get around and head into the corner.
The Black Cats opted to make a change after the break, bringing on fullback Trey Hume for Bradley Dack.
After an hour, Dodd made further changes, bringing on Abdullah Ba and Adil Ausiche.
A few minutes later, the two players combined well, with Ba passing the ball to Ausice in the middle, and Sunderland looked to take the lead, but was thwarted by a superb block.
However, it was the visitors who took the lead when Watmore curled Ryan Longman's cross into the roof of Sunderland's net.
It was Watmore's fourth goal of the season, coming against his former club after playing 87 games and leaving in 2020.
Sunderland complete the season with games against Watford and Sheffield on Wednesday, while Millwall host Plymouth before visiting Swansea on May 4.
Millwall manager Neil Harris told BBC Radio London:
“When I came here I had two objectives: to revitalize the football club and to get us over the dotted line.
“Both are equally important to me, Sunderland are a good team and it's very good to be three points behind them.
“We are not far from any team that dreams of finishing in the top 10. This is a great place to be.”
lineup
sunderland
formation 3-4-3
- 1patterson
- 13Onien
- FiveballadBooked in 87 minutes
- 42AreseReplacementMandlein 81 minutesminutes
- 6pembeleReplacementBain 62 minutesminutes
- 39Ekua
- 7bellinghamI made a reservation in 90 minutes.
- 28styleReplacementevansin 81 minutesminutes
- 31rigReplacementAoshishuin 63 minutesminutes
- 46duckReplacementfumein 45 minutesminutes
- 20ClerkBooked in 12 minutes
substitute
- Fourevans
- 9Silva Semedo
- 11barstow
- 14Mandle
- 17Ba
- twenty twoAoshishu
- 30bishop
- 32fume
- 33Herde
millwall
formation 4-4-2
- 20Sarkic
- 18leonard
- 6Tanganga
- Fivecooper
- 2mcnamara
- 39honeymanReplacementWatmorein 67 minutesminutes
- twenty fourde noreReplacementhutchinsonin 88 minutesminutes
- twenty threesaville
- 11longmanReplacementNorton Cuffyin 87 minutesminutes
- twenty oneObafemiBooked for 43 minutesReplacementbradshawin 67 minutesminutes
- TenflemingBooked in 87 minutes
substitute
- Fourhutchinson
- 7Nisbet
- 9bradshaw
- 12Mayor
- 17Norton Cuffy
- 19Watmore
- twenty fiveessay
- 33Biakowski
- 45harding
- Referee:
- anthony backhouse
- Attendance:
- 40,743
live text
-
Game over, Sunderland 0, Millwall 1.
-
Halftime ended, Sunderland 0, Millwall 1.
-
Attempt failed. Pierre Ekuwa (Sunderland) took a left-footed shot from outside the box, but it went wide to the left of the target. Adil Aushish provided the assist in the set piece.
-
Corey Evans (Sunderland) wins a free kick in the attacking half.
-
Foul on George Saville (Millwall).
-
Sunderland corner. Dan McNamara concedes.
-
Jobe Bellingham (Sunderland) was shown a yellow card for a serious foul.
-
Foul by Jobe Bellingham (Sunderland).
-
Ryan Leonard (Millwall) wins a free kick in defence.
-
Attempt blocked. Trey Hume (Sunderland)'s right-footed shot from outside the box was blocked. Supported by Pierre Ekuwa.
-
Substitute, Millwall. Due to injury to Casper de Norre, Sean Hutchinson will take his place.
-
Substitute, Millwall. Brooke Norton-Cuffee replaces Ryan Longman.
-
Jeanne Fleming (Millwall) is shown a yellow card.
-
Dan Ballard (Sunderland) is shown a yellow card.
-
Dan Ballard (Sunderland) wins a free kick in defence.
-
Foul by Jeanne Fleming (Millwall).
-
Foul by Dan Ballard (Sunderland).
-
Jeanne Fleming (Millwall) wins a free kick on the right.
-
Substitute, Sunderland. Romain Mandre replaces Ajibola Arese.
-
Substitute, Sunderland. Cory Evans replaces Callum Styles.