Wrexham missed the chance to close the gap to leaders Stockport County, as Woking came from behind to win in front of the BT Sport cameras.
Tyreke Johnson headed Liam McAlinden’s cross beyond his own goalkeeper just before half-time to break the deadlock.
But Woking got back into the game when Max Kretzschmar converted from the penalty spot after Jordan Davies’ handball, and Jamar Loza scored late to complete the comeback.
It meant a first defeat since February for Phil Parkinson’s side, who could not take advantage of Stockport’s loss at Yeovil as a result
For the eighth consecutive game, and the first on the road after seven home matches, Phil Parkinson named an unchanged starting line-up.
He was forced into a substitution after just six minutes, however – Callum McFadzean going off injured to be replaced by Liam McAlinden.
Wrexham had started brightly, but Woking grew into the game after the enforced change and Johnson wanted a penalty on nine minutes following Luke Young’s challenge; referee Robert Whitton was unmoved.
David Longe-King then headed wide from Jack Roles’ left-wing corner on the quarter-hour.
At the other end, Paul Mullin’s shot was deflected wide on 22 minutes after Davies’ cross and Young eventually shot wide when the resultant corner was kept alive by Wrexham.
Davies then ran onto Mullin’s chipped through-ball on 27 minutes but could not bring the ball down and Craig Ross gathered.
Mullin then slipped on 29 minutes after Davies charged through the middle to release the striker, who was looking to return the pass inside.
James Jones was inches away from breaking the deadlock on 36 minutes, but his thunderous left-footed clattered the crossbar and bounced well clear.
The pressure continued to build and Davies released Ollie Palmer on 39 minutes but the striker delayed his shot too long and was tackled.
Finally the pressure told – albeit via slice of fortune – in the 44th minute. Davies released McAlinden on the left, but he was too wide to shot and held onto the ball before crossing, and Johnson headed beyond the wrong-footed Ross.
After the break, James Jones’ shot was deflected wide on 52 minutes and, in the 55th minute, Davies’ left-footed free-kick was well tipped over by Ross.
Disaster struck on 65 minutes, however, when a deep free-kick was headed back inside at the back post and Davies handballed. Kretzschmar stepped up and sent Dibble the wrong way to equalise.
Frustration grew for Wrexham, and Woking were on top when Dibble saved brilliantly from Rohan Ince on 80 minutes.
Dibble saved again from Moussa Diarra’s header on 83 minutes, but Woking took the lead just minutes later.
Ben Tozer gave the ball away in defence on 86 minutes, and from a right-wing cross, Loza converted at the back post.
Hall-Johnson nearly levelled in the first of five minutes added on, after substitute Dan Jarvis’ backheel, but Diarra headed his goalbound shot clear.
Woking: Ross, Casey, McNerney, Diarra, Loza, Effiong (Kabamba 62), Kretzschmar (Anderson 86), Johnson (Nwabuokei 82), Roles, Longe-King, Ince.
Unused: Champion, Oakley
Wrexham: Dibble, Hall-Johnson, Hayden, Tozer, Cleworth (Ponticelli 86), McFadzean (McAlinden 6), Young, J.Jones (Jarvis 82), Davies, Mullin, Palmer
Unused: Camp, French