Rhian Brewster’s free-kick helped Swansea City pick up a hard-earned point at Millwall.
The on-loan Liverpool striker’s stunning 66th minute set-piece was too good for Lions keeper Bartosz Bialkowski, hitting the bar and finding the net via a touch off the diving Croatian.
That levelled matters after Mason Bennett had given the hosts the lead from a sharp first-half counter.
With other games still to be played in this round of fixtures, it remains to be seen what impact this result will have on the Swans’ play-off hopes.
It was a predictably tough contest at The Den, and Swansea emerged from it with an injury concern over Ben Wilmot after the defender suffered a knee injury late on.
Cooper had made three changes from the defeat to Luton, bringing in Kyle Naughton, George Byers and Yan Dhanda for Connor Roberts, Jay Fulton and Aldo Kalulu.
Joe Rodon missed out on a place on the bench with an ankle injury, while Jordon Garrick served the first part of a three-match suspension.
With so much at stake, it was little surprise that the opening exchanges were rather scrappy with neither side finding much in the way of fluency on the ball.
Swansea nearly got Brewster in behind early on, only for Shaun Hutchinson to clip his heels and earn a booking for his troubles.
Bialkowski punched away Dhanda’s effort from the resulting free-kick, and the Swans then had appeals for a penalty turned down from the resulting corner.
The Swans came close to taking the lead on 15 minutes, Conor Gallagher getting away a strike from a Byers’ pass that was deflected just wide of the left-hand post with Bialkowski stranded on the deck.
But the visitors fell behind in the 21st minute after Millwall won the ball in midfield and countered with numbers.
Jed Wallace escaped Wilmot and pulled back for Bennett to clip in from close range.
Swansea should have levelled six minutes later. Wilmot heading a Matt Grimes free-kick across goal, only for Brewster to be denied as Jake Cooper cleared the striker’s effort off his line.
But Millwall remained a threat, and Wallace rounded Freddie Woodman but could not pick out another navy shirt as Ben Cabango covered.
The hosts remained in front at the break, although they lost goalscorer Bennett to injury with Connor Mahoney on in his place.
Gallagher forced Bialkowski into a save with a strike from distance three minutes into the second period, although Andre Ayew soon had to make an excellent clearance at the other end as Tom Bradshaw threatened to prod in a second for the Lions.
Mahoney had an effort deflected over after Ryan Woods had seized on a loose pass by Bidwell before Cooper began to make changes.
Bersant Celina came on for Dhanda and quickly had a shot blocked after Ayew had wriggled away from a couple of challenges on the right-hand touchline.
But it was Brewster who helped the Swans level matters for the Swans with a terrific free-kick, after Gallagher had been fouled.
His effort beat Bialkowski, struck the bar and found the net via the back of the keeper.
The momentum was with the Swans, although they an anxious moment as Cabango and Bradshaw came together on the edge of the area, with referee James Linington deciding there was no foul by either player.
The Swans lost Wilmot soon after, before Millwall substitute Matt Smith struck the post from a corner as it ended all-square.
Millwall: Bartosz Bialkowski, Mahlon Romeo, Shaun Hutchinson (captain), Jake Cooper, Murray Wallace; Jed Wallace, Ryan Woods, Shaun Williamson, Shane Ferguson; Mason Bennett (Connor Mahoney 46), Tom Bradshaw (Matt Smith 84).
Substitutes (not used): Luke Steele, Alex Pearce, Ryan Leonard, Billy Mitchell, Jayson Molumby, Jiri Skalak, Ben Thompson.
Swansea City: Freddie Woodman; Kyle Naughton, Ben Cabango, Ben Wilmot (Marc Guehi 83), Jake Bidwell; George Byers, Matt Grimes (captain); Andre Ayew, Conor Gallagher, Yan Dhanda (Bersant Celina 59); Rhian Brewster.
Substitutes (not used): Erwin Mulder, Connor Roberts, Nathan Dyer, Wayne Routledge, Jay Fulton, Aldo Kalulu, Liam Cullen.
Referee: James Linington