The former Sunderland striker gave the Bluebirds an early lead and then squandered a one-on-one chance.
Plymouth hit the bar but Chopra scored again with 10 minutes left after rounding goalkeeper Romain Larrieu and completed his hat-trick with a penalty five minutes from time after Marcel Seip fouled Chris Burke.
Burke's former Rangers colleague Alan Gow reduced the deficit and Cardiff's Tony Capaldi was sent off late on but it was the Bluebirds' night.
They leapfrogged Coventry who could only draw 0-0 at Doncaster and the Sky Blues' inability to win saw them also overtaken by Middlesbrough.
West Brom won a five-goal thriller 3-2 at Peterborough to go fourth.
Luke Moore gave the Baggies a third-minute lead with a 20-yard shot before he doubled the score.
Chris Brunt added a third four minutes before half-time when he tapped into an empty net after Posh goalkeeper Joe Lewis had parried Shaun Cummings' cross.
Peterborough pulled one back on the stroke of half-time through Craig Mackail-Smith's close-range header before Aaron McLean slid in eight minutes into the second half to draw another back.
Mackail-Smith then had the ball in the net again but it was disallowed for a foul on Scott Carson.
Graham Dorrans was sent off at the death for the Baggies for his second bookable offence.
Bristol City claimed a narrow 1-0 win against QPR thanks to Nicky Maynard's drilled shot as the Robins went up to fifth.
Sheffield United, fifth at the start of play, had to come from behind to draw 1-1 with Leicester at Bramall Lane.
The Blades almost took the lead when Darius Henderson hit the post halfway through the first half but Matty Fryatt's flick shortly after half-time put the visitors ahead.
Keith Treacy, on loan from Blackburn, brought the home side level with a screamer high into the net.
Darren Ambrose scored twice and created another as he helped Crystal Palace to a 3-1 win at his old club Ipswich.
Watford had a 4-2 win at Nottingham Forest. The Hornets took the lead when Reading target Tommy Smith provided a cross which Danny Graham headed down and into the net.
Forest levelled right on half-time with their first goal of the season through Dexter Blackstock.
Mike Williamson prodded the ball home to put Watford ahead and Smith drilled home for a second four minutes later.
Dele Adebola scored his first goal for Forest to pull one back but Tom Cleverley sealed the points in the last minute.
Paul Parry, Neil Mellor and Jon Parkin scored as Preston won 3-0 at Barnsley.
Swansea and Reading shared a 0-0 draw. Swansea had lost both their games before tonight and they squandered the chance to take the lead midway through the first half.
Ryan Bertrand was penalised for handball but Adam Federici proved himself equal to Mark Gower's spot-kick.
Blackpool and Derby also drew 0-0.