SUBSTITUTIONpublished at 77 mins
Cardiff 0-1 Wolves
A third and final change for Wolves as Alfred N'Diaye replaces Benik Afobe, who's had an excellent second half.
Hoilett hits crossbar with second penalty
Ruddy saves Madine penalty for Cardiff in stoppage-time
Neves scores from 25 yards for Wolves
Wolves need five points for promotion
Jay Freeman
Cardiff 0-1 Wolves
A third and final change for Wolves as Alfred N'Diaye replaces Benik Afobe, who's had an excellent second half.
Cardiff 0-1 Wolves
A feisty finale, here. Romain Saiss is booked for Wolves for going in hard on Nathaniel Mendez-Laing.
It's all Cardiff, here.
Cardiff 0-1 Wolves
Gary Madine has replaced Yanic Wildschut for Cardiff with the hosts pushing to restore parity.
The 16 minutes of normal time that remain will feel like an age for the travelling Wolves fans.
Cardiff 0-1 Wolves
Dafydd Pritchard
BBC Sport Wales at Cardiff City Stadium
What a goal. Wolves' fans certainly enjoyed that one - their end of the Cardiff City Stadium is an ecstatic mass of bodies, swaying and roaring at the top of their voices.
They've even thrown a flare towards the pitch, much to the irritation of Cardiff keeper Neil Etheridge.
Cardiff 0-1 Wolves
Not content with scoring from outside the box with a curling finish just moments ago, Ruben Neves has another go from roughly the same sort of angle and it dips narrowly wide of the post.
Ruben Neves
What a stunning goal.
Ruben Neves scores from the free-kick that follows and it is absolutely superb. Bang in the top corner. Is he physically capable of scoring anywhere but outside the box?!
Nuno Espirito Santo and his technical team go mad on the sidelines. Deadlock well and truly broken. Just over 20 minutes to play.
Cardiff 0-0 Wolves
Another Cardiff yellow card as Sean Morrison goes into the book for a robust challenge on Diogo Jota who looked through on goal.
Jota is then brought off for Cavaleiro.
Cardiff 0-0 Wolves
Injury news to bring you. Television coverage tells us Wolves forward Leo Bonatini was brought off because of an ankle injury while Cardiff's Callum Paterson was hurt around the ribs.
Looks like Wolves are about to bring on Ivan Cavaleiro.
Cardiff 0-0 Wolves
Ruben Neves, who is no stranger to scoring from long range, lifts the ball well over the crossbar from the free-kick that follows.
That's been well and truly jeered by the vocal home crowd.
Cardiff 0-0 Wolves
Lee Peltier is booked for bringing down Benik Afobe on the edge of the box. Free kick in a dangerous area for the visitors.
Cardiff 0-0 Wolves
Half an hour left and it's still tense. The crowd, who had been a bit subdued by a pretty quiet and technical first half, have now perked up.
How's this one going to finish up?
Cardiff 0-0 Wolves
Yanic Wildschut finds space in the Wolves box but visiting captain Conor Coady reads the ball well and singlehandedly wins the ball back.
It's some game, this.
Cardiff 0-0 Wolves
Leo Bonatini is hauled off for Wolves and is replaced by Helder Costa.
It's the Portuguese winger's 76th appearance since arriving on loan from Benfica in 2016 before signing a permanent deal in January 2017.
Cardiff 0-0 Wolves
Cardiff have just won a free-kick after the ball clearly hits Matt Doherty's side. The Wolves man is furious.
Meanwhile, Helder Costa is primed to come on for Wolves.
Cardiff 0-0 Wolves
Better from the hosts but Yanic Wildschut wins the ball back after the corner is cleared and attempts an inswinging cross which is judged to have gone out. Goal kick.
Cardiff 0-0 Wolves
Oof! Chance for Cardiff much to the joy of the home crowd who roar with appreciation as Craig Bryson shoots from outside the box and it deflects off a Wolves defender for a corner.
Cardiff 0-0 Wolves
There's a change early in the second half as Callum Paterson comes off holding his side and is replaced by former Wolves man Nathaniel Mendez-Laing.
Cardiff 0-0 Wolves
Oh my word Leo Bonatini has hit the upright.
There's a mixup from Cardiff as Wolves push forward and the Brazilian, who hasn't scored since December, cheekily tries his luck from the tightest of angles and his effort bounces off the right-hand upright.
It's cleared to safety.
Cardiff 0-0 Wolves
Cardiff get the second half under way.
Tweet us via #bbcefl
Paul Hopkins: Good second half Bluebirds, be patient a goal will come. May need a change to do it!!!