The visitors were 2-0 ahead at half time, thanks to Jake Cooper's own goal and a deflected effort from Gustavo Hamer.
Jed Wallace pulled one back for Millwall from the penalty spot in the second half but The Lions were unable to claim anything from their opening game of 2020.
Story of the game
Coventry took the lead on the 20-minute mark. Callum O'Hare spotted the run of Jordan Shipley who's shot bounced back off the post but only for Jake Cooper to turn into his own net.
The visitors doubled their lead six minutes later, Gustavo Hamer's free-kick was drilled into the wall before he got a second bite at it and with that blasted it into the bottom corner.
Lions chief Gary Rowett changed things at half time, bringing on both Troy Parrott and Scott Malone as he tried to inject some pace into his side.
Shipley was denied at the start of the second half, hitting an absolute cracker which came back off the post, the third time the Millwall woodwork had been struck.
Millwall were given a golden opportunity to get back into the game on 73 minutes. Substitute Parrott was fouled in the box, Jed Wallace stood up and scored the penalty to give the Lions hope of a point.
Coventry were denied again by Bart Bialkowski on 79 minutes, the pole stopping Giles's Ryan Giles' effort.
The visitors should have wrapped up all three points on 85 minutes, Callum O'Hare ran through after beating Ryan Woods but Bialkowski was there again to deny the Sky Blues.
Murray Wallace was sent off in stoppage time for a second bookable offence.
It was a really slow start from Millwall. The Lions failed to get out of the traps were second best from the get-go. The visitors started like a house on fire and were in the faces of their hosts. It is possible that the amount of time Millwall have missed due to COVID-19 postponements could have had an effect.
Millwall's Slow Midfield
The Lions had nothing in midfield. Coventry's midfield was quicker than Millwall's and they managed to carve their way through on so many occasions particularly in the first half. The partnership of Ryan Woods and Shaun Williams failed to penetrate the Lions and also failed to create any meaningful chances.
The return of Ken Zohore
Millwall have not been able to rely on Ken Zohore since his arrival from West Brom but he made up for lost time following his introduction on 67 minutes. He was able to help Millwall create chances which they had been lacking. Zohore's introduction also helped Troy Parrott who also has been short of game time following injury. He looked bright and tried to get the ball moving forwards at every opportunity.
Millwall made one change from the side that drew 1-1 with Nottingham Forest on the 19th December.
Ken Zohore made his return to the squad after not featuring since the 2-0 win at Preston on 28th October.
Millwall: Bialkowski; Romeo (Burey 86), Hutchinson, Cooper, M Wallace; Woods, Williams (Smith 86); J Wallace, Bradshaw (Zohore 67), Bennett (Malone 45); Bodvarsson (Parrott 45)
Subs: Fielding, Thompson, Smith, Ferguson, Zohore, Malone, Leonard, Parrott, Burey
Coventry: Wilson; Osrigard, McFadzean, Hyam; Dabo, Shipley (Giles 67), Hamer, O Hare, McCallum; Godden (Biamou 14)
Subs: Camp, Allen, Biamou, Hilbner, Giles, Bakayoko, Thompson, Dacoasta, Bapaga