Despite squandering numerous chances, Mark Robins’ side appeared to be in danger of defeat after teenager Romain Esse’s first-half strike.
However, Wright was brought down in the penalty area in a tangle with Millwall defender Japhet Tanganga, earning himself a 67th-minute penalty.
Subsequently, after sending Matija Sarkic the wrong way from the spot, US international Wright scored the winner in the 70th minute when his near-post shot beat Sarkic’s weak attempt to save it – marking his 11th goal of the campaign.
While City avoided the threat of a second home defeat of the season to climb four places to sixth, it was Millwall’s sixth game without a win across all competitions, with Coventry’s victory undoubtedly reflecting their overall dominance.
They should have been ahead after an early scramble when Tatsuhiro Sakamoto’s shot was blocked and Wright’s follow-up hit the left post before rebounding onto the woodwork for the second time and back into Sarkic’s grasp.
But Millwall’s Michael Obafemi also came close with a shot straight at Coventry keeper Brad Collins before the visitors surprised the arena by taking the lead.
The move originated from Millwall keeper Sarkic, whose long clearance was headed down the left and then redirected inside by Zian Flemming before Esse unleashed a powerful right-footed shot that took a big deflection off Luis Binks to divert it past Collins.
Obafemi should then have doubled their lead when he shot straight at Collins before Coventry midfielder Victor Torp’s free-kick was tipped over by Sarkic, and Kasey Palmer’s shot was deflected over for a corner by Wes Harding’s head.
Home chances continued to come after the break as Callum O’Hare played in Sakamoto, whose shot was pushed out by Sarkic before Torp had an effort from just outside the area deflected wide.
However, just when impatience seemed to be growing among home fans, Wright went down in the box – and slotted the resulting penalty into the bottom right corner.
Three minutes later, O’Hare found Wright unmarked on the left side of the area, and despite Sarkic’s outstretched right hand reaching it, he found the bottom left corner.
Both teams return to Championship action on Wednesday.
Coventry travels to Devon to play against Plymouth Argyle while Millwall hosts promotion hopefuls Ipswich Town.
Coventry City manager Mark Robins told BBC CWR:
“We had to work hard for that. We want to play quickly and they made it very difficult for us.
“We could even have been out of the game as they had a couple of chances. But then Haji planted his foot, had his leg taken away, and got the penalty, which I thought was stonewall.
“There was a bit of rock, paper, scissors with the penalty [to decide who took it] but he’s taken them before in Turkey. He knows what to do. Then he gets the winner and we had other chances. Haji could even have had a hat-trick as he hit the post too.
“The pitch is not in great nick, by the way, and needs sorting out. We have to do some work on that.”
“You can see the threat Coventry City have all over the pitch, so to come here and make life uncomfortable for them was good.
“We’ve started a lot of games well and Romain Esse took his opportunity and we had other chances.
“We’ve showed we can trade blows with any team in this league, but we have to do it more consistently.
“It’s quite a soft challenge for the penalty but nothing to really complain about. He gets the wrong side and that one was always going to be given.”