Tim Duncan had 12 points and 11 rebounds and Tony Parker scored 16 points for the Spurs, who have won three straight regular-season meetings with Miami after dropping the previous five. Leonard added three assists, four steals and two blocks.
Cory Joseph only scored seven points, but it was his defense and intensity off the bench in the second half that helped the Spurs pull away. Joseph matched a career-high with four steals.
Five straight points from James Ennis had Miami within 51-50 early in the third quarter, but Matt Bonner countered with a 3-pointer on the other end. His trey jumpstarted an 18-4 run that spanned more than six minutes and put the Spurs in the driver's seat.
They ended any hopes of a Heat comeback with a 12-2 spurt to open the fourth. Joseph and Leonard both came up with steals and assisted on each other's transition baskets during the flurry.
The lead grew to 83-62 on two Duncan free throws with just under seven minutes left. Miami scored the next five points and 13 of 15 to draw back within 10, but San Antonio regrouped out of a timeout and put the game away. Joseph's offensive rebound led to a Tiago Splitter layup at 2:25, and Leonard drove in for a runner on the next possession.
Hassan Whiteside and Mario Chalmers both netted 10 off the bench.
The Heat led 20-19 after a poor-shooting opening quarter for both teams. San Antonio controlled the second and led by eight before Chalmers beat the buzzer with a halfcourt heave.
The Spurs have won four straight games and 14 of 17 ... This was Parker's 1,000th regular-season game ... Chris Andersen had 10 of Miami's 33 rebounds ... The Heat went 12-for-12 from the foul line.
The Nets, 8-2 in their last 10 games, moved a half-game ahead of idle Boston for the eighth and final playoff spot in the Eastern Conference while knocking Indiana 1 1/2 back.
Lopez, who scored 20 of his 24 points in the first half, added 11 rebounds and Alan Anderson had 20 points off the bench. Jarrett Jack scored 13 points and Deron Williams had 11 points and eight assists in the win.
George Hill scored 28 points to lead the Pacers, who fell to 2-8 in their last 10 and fell 1 1/2 games back of the final playoff spot in the East. David West added 134 points and the Indiana bench scored 48.
The Nets, after leading by as many as 19 points in the first half, took an 84-79 edge into the fourth quarter and remained in front the rest of the way.
It wasn't a safe lead until Johnson buried a 3-pointer from the right corner to make it 108-100 with 15.4 seconds left.
The Nets looked for Lopez early as the reigning Eastern Conference Player of the Week scored 14 points in a big first quarter for the home team.
Getting easy looks off good passes, Lopez helped the Nets build an 18-point lead going into the second quarter. In one short span, he had an alley-oop dunk off a pass from Johnson, then made two layups off a scoop pass from Williams under the basket and a low post look from Thaddeus Young.
The Nets had 10 assists on 13 baskets in the quarter and made 13 of their 21 shot attempts.
But they struggled in the second quarter while the Pacers bench led a comeback out of an early 19-point hole. The Pacers eventually took the lead on Solomon Hill's 3-pointer with around two minutes left in the first half, but Lopez led a 7-2 flurry that gave the Nets a 57-54 advantage at the break.
Indiana's bench scored 36 of the team's 39 points in the quarter.
Indiana had won five of the previous six meetings between the teams. They split the first two meetings this season, with each winning on the other's home court, including Brooklyn's 123-111 victory on March 21 a day after it lost to Milwaukee in triple overtime ... Indiana remains on the road to play Boston on Wednesday ... Brooklyn faces the Knicks at Madison Square Garden on Wednesday.