The 38-year-old produced a sublime finish to put Rangers two ahead in the 16th minute as Steven Gerrard’s side made the most of the opportunity presented by Aberdeen’s late equaliser in a 3-3 draw with Celtic.
Defoe, whose first goal came for West Ham 20 years ago last month, shot first time with his left foot to net his first league goal of the season.
Joe Aribo had earlier put Rangers in front and the victory was further evidence of both the increased depth and focus of Rangers this season as they followed up last weekend’s victory at Celtic Park.
Gerrard rotated his squad following Thursday’s Europa League win over Standard Liege, with Aribo and Defoe among five players coming in.
Rangers have lost the subsequent game after two of their previous three derby wins under Gerrard and soon suffered a general collapse in form after the other. And they came out determined to ensure there would be no hangover.
Max Stryjek came into the Livingston team for Rangers loan goalkeeper Robby McCrorie, with the Pole making his first league appearance since a goalless draw with Gerrard’s side in August.
That remains the only time Rangers have failed to score this season but Stryjek was beaten inside nine minutes after slack play at the back from Livingston handed the hosts the initiative.
Ianis Hagi dispossessed Efe Ambrose and set up Defoe, whose shot was stopped by the goalkeeper’s legs. But Hagi showed good awareness to square to Aribo, who swept the ball into the empty net.
The second goal came from James Tavernier’s accurate ball over the top. Defoe got in between the Livi centre-backs and did not break stride as he met the ball as it dropped.
The visitors came close midway through the half when Gers defender Connor Goldson turned Julien Serrano’s low cross on to the post. The rebound fell kindly for Jay Emmanuel-Thomas but the Livi striker could not react quickly enough and the ball bounced off him and into Allan McGregor’s arms.
Rangers dictated play for the remainder of the half and Ryan Jack forced a couple of saves.
Gerrard made changes in a bid to rekindle his side’s spark with those introduced including Kemar Roofe, fresh from his wonder goal in Liege.
There were no more heroics although another substitute, Jordan Jones, forced a decent stoppage-time save from Stryjek as Rangers saw out the win and a 13th clean sheet this season.
They now have the chance to go nine points clear at Kilmarnock next Sunday, albeit Celtic will have two games in hand.