However, the visitors were far too strong and a Michael Kightly double and a Jody Craddock header gave Wolves a deserved victory.
It briefly looked different when Robbie Fowler slotted in a 25th minute penalty equaliser, followed five minutes later by a Jimmy Floyd Hasselbaink strike, but the Bluebirds were never comfortable.
Skipper Darren Purse returned to the starting line-up with Roger Johnson making way, but there was no place for Trevor Sinclair who was among the substitutes.
A neat Stephen McPhail free-kick in the ninth minute was dummied by Hasselbaink leaving Fowler free on goal. As Wayne Hennessey came out, the former Liverpool striker rolled his shot beyond the keeper, but also wide of the far post.
The visitors went ahead in the 13th minute when Andy Keogh received the ball wide on the right and his low cross was sidefooted home by Kightly.
City were right back in it in the 25th minute when Karl Henry fouled Joe Ledley in the box. Fowler coolly slotted the spot-kick into the corner for his sixth goal of the season.
Four minutes later the Bluebirds were ahead. Paul Parry made a great run down the right before slipping a pass inside to Ledley. He neatly laid it off to Hasselbaink, who carefully picked his spot, leaving Hennessey helpless.
The Bluebirds defence came under pressure at the start of the second half especially after Freddy Eastwood came on in the 51st minute.
Mick McCarthy's side kept hold of the ball for long periods and an equaliser began to look more and more likely.
It duly arrived in the 66th minute when Glenn Loovens was caught out by a long pass from defence and Kightly sprinted through to net his second of the game.
Wolves then took the lead from a set-piece. Jay Bothroyd sent over a corner and the unmarked Craddock headed high into the net.
Apart from one wayward backpass, Hennessey had very little to do even when City's veteran frontmen were replaced by Steve Thompson and Steve MacLean and Cardiff's home form still leaves a lot to be desired.