Henrik Ojamaa's early opener for the home side was cancelled out by Steven Whittaker, before McCulloch pounced with a couple of minutes to go.
The result means Motherwell's 10-year wait for a win over Rangers continues, while allowing the Scottish champions to move six points ahead of their hosts in the fight for second spot.
Rangers made two changes from last week's Old Firm derby win over Celtic for the clash at Fir Park.
Kyle Bartley started along with Ross Perry, while Carlos Bocanegra missed out through suspension and Rhys McCabe was injured.
Motherwell welcomed back Keith Lasley from suspension and he replaced Stuart Carswell in the side as the Steelmen made one change from last week's defeat to Kilmarnock.
The home side surged into the lead with just six minutes on the clock when Sasa Papac inadvertently played the ball forward for Chris Humphrey and his low cross found Ojamaa, who rifled home from close range.
Rangers were back on level terms just three minutes later when a Lasley clearance was played into the path of Whittaker by Papac and he sent a swerving left-foot shot past goalkeeper Darren Randolph from 30 yards.
Whittaker was then cautioned for a challenge on Tim Clancy and the Motherwell player was fortunate to also escape with a yellow card from referee Iain Brines following his reaction to the foul.
Motherwell still looked dangerous and Nicky Law found himself through on goal only to be denied by an impressive stop from Allan McGregor, before Humphrey saw his effort fizz wide.
At the other end, there was a moment of controversy when Sone Aluko went to ground after being clipped by Randolph and thought he had won a penalty.
But, rather than point to the spot, referee Brines booked the player for diving instead.
Television pictures showed there was contact by the Well goalkeeper and Aluko was still remonstrating with the match officials as he left the pitch at half-time.
Motherwell could have restored their lead shortly after the restart when Clancy teed up a shot for Lasley, but he was denied the sight of his thunderous effort hitting the back of the net by an excellent save from McGregor.
Whittaker then had a chance to add to his tally for the day when he met a long cross from Papac from the left only to direct his header over the crossbar.
Rangers made their first change after 62 minutes when Papac was withdrawn to allow for the introduction of Kyle Lafferty.
Rangers had the chance to pile on the pressure when Aluko won a free-kick on the edge of the box but skipper Steven Davis sent his curling effort well over the crossbar.
McGregor came to the rescue of Rangers again as the match entered the final 10 minutes when he produced a superb save to bat a ferocious shot from Michael Higdon to safety.
Both sides were determined to find the winner in the final stages and Randolph was called into action to block from Lafferty.
Rangers had the net bulging again with two minutes to go when a long throw in from Lee Wallace found McCulloch to fire home from six yards and secure the points.