Ten-man Swansea City’s bid to force their way into the Championship play-off places suffered a setback with defeat to Luton at the Liberty Stadium.
A second-half header from Hatters’ striker James Collins proved the difference in SA1, settling a hard-fought contest of few clear chances.
The hosts then had winger Garrick sent off late on as the substitute appeared to throw a punch during a scuffle between a group of players.
The Swans had the majority of possession and territory, with Andre Ayew and Ben Cabango being denied from an instinctive volley and a header respectively.
Cooper had kept faith with the side that had started the 3-0 win over Middlesbrough last time out, but it was the visitors, who had themselves restarted with a positive result with a point at Preston, initially started the sharper.
Harry Cornick made a couple of forward forays down the right, although the Hatters were also guilty of wasting a couple of opportunities to deliver well from set-piece situations.
Dan Potts put a better corner into the side-netting at the far post, before the Swans threatened for the first time 14 minutes in.
Jake Bidwell played a lovely ball into the area for Ayew, with Simon Sluga stopping the Ghanaian’s prodded effort on goal.
Luton then spurned a great chance of their own, Cornick getting clear down the right and driving into the area, only to blaze wildly over.
Following the drinks break, Jay Fulton had a shot blocked following more good interplay between Bidwell and Ayew.
There was a flicker of promise for the Swans when Conor Gallagher seized on a loose ball and drove forward to find Aldo Kalulu, but the Frenchman looked to tee up Rhian Brewster rather than shoot himself and the chance was gone.
The Swans had a better spell in the lead up to the break, dominating possession and pressing without really creating any clear-cut sightings of goal as it remained goalless at the interval.
Cooper sent on Jordon Garrick for Kalulu in the solitary change at the break and the hosts started the second half much as they had ended the first.
Ayew saw a shot cannon off Cameron Carter-Vickers and into the grateful hands of keeper Sluga.
Pelly Ruddock Mpanzu worked Freddie Woodman from distance, while Ayew could not make clean contact with a Matt Grimes corner just before the hour mark.
Luton’s Croatian keeper made a fine save as Cabango’s header looked destined to find the far corner just before the second drinks break of the afternoon as Swansea continued to seek a breakthrough.
But they fell behind in the 73rd minute as a pin-point cross from Izzy Brown was headed home by striker Collins at the near post, with Woodman getting hands to the ball but being unable to keep it out.
Swansea sought a response, Sluga being forced to tip a Grimes free-kick over the bar, but their task was made more difficult when Garrick saw red with eight minutes remaining after a series of strong tackles prompted a melee among a group of players from both sides.
Gallagher bent a shot just wide of the post in stoppage time, but that would be as near as Swansea got to a leveller.
Swansea City: Freddie Woodman; Connor Roberts, Ben Wilmot, Ben Cabango (Wayne Routledge 86), Jake Bidwell; Jay Fulton (George Byers 58), Matt Grimes (captain); Aldo Kalulu (Jordon Garrick46), Conor Gallagher, Andre Ayew; Rhian Brewster.
Substitutes not used: Erwin Mulder, Kyle Naughton, Joe Rodon, Marc Guehi, Yan Dhanda,, Nathan Dyer.
Luton Town: Simon Sluga, Dan Potts (Martin Cranie 90), Sonny Bradley (captain), Matty Pearson, Elliot Lee (James Bree 69), Harry Cornick (Danny Hylton 90), Glen Rea, Pelly Ruddock Mpanzu, Cameron Carter-Vickers, James Collins, Jacob Butterfield (Izzy Brown 59).
Substitutes not used: Ryan Tunnicliffe, Callum McManaman, Andrew Shinnie, George Moncur, James Shea.
Referee: Andy Woolmer