PORTLAND, Ore. -- Guard Patty Mills scored 29 points off the bench, leading the San Antonio Spurs to a 111-109 victory over the Portland Trail Blazers on Wednesday night at the Moda Center.

Guard Marco Belinelli added 20 points for the Spurs (40-15), who won their third consecutive game and improved to 6-2 on a nine-game road trip.

Guard Damian Lillard scored 31 points for the Trail Blazers (36-18), who lost for the eighth time in 13 games.

Mills scored 13 points in the fourth quarter as San Antonio prevailed in a nip-and-tuck battle down the stretch.

The Spurs, trailing by one at intermission, outscored Portland 18-8 at the onset of the third quarter to take a 69-60 lead. The Blazers then seized the momentum, going on a 19-6 run to forge a 79-75 advantage late in the quarter. Portland took an 81-79 edge into the final period.

San Antonio scored 10 straight points to jump ahead 89-81 as the Blazers went scoreless for nearly the first four minutes of the fourth quarter. Soon it was 92-82, with Mills leading the way.

The Spurs' advantage was 97-87 with four minutes to play, but the Blazers stormed back, Lillard's jumper closing the gap to 99-97 with 2:20 remaining. A steal and solo dunk by Portland guard Wesley Matthews tied it at 101-101 with 1:50 to play.

San Antonio came back with five points in a row -- a Bellinelli 3-pointer and a layup by center Tiago Splitter -- to go ahead 106-101 with 57.2 seconds to go. Splitter's free throw made it 107-101 with 32.4 ticks left.

A trey by guard Mo Williams with 24.1 seconds remaining gave the Blazers life, and after a quick exchange of turnovers, Portland fouled San Antonio guard Danny Green with 11.4 seconds to go. Green's pair at the line salted the win away for the Spurs.

Portland led 24-18 after a sluggish first quarter.

The Blazers were in front 30-22 before the Spurs used an 11-3 spurt to tie the score. The Spurs went ahead 43-41 on a Belinelli basket, but the Blazers took a 52-51 advantage into halftime. Bellinelli had 12 points on 5-for-7 shooting in the half.

NOTES: Both teams were short-handed. San Antonio was without three starters -- F Tim Duncan, G Tony Parker and F Kawhi Leonard. Duncan, who played 38 minutes in a 113-103 victory over the L.A. Clippers on Tuesday night, was sitting out the second of back-to-back games. Parker was resting due to various nagging injuries (Achilles tendon, groin, shin, shoulder). Leonard missed his 13th straight game with a broken hand. ... Portland F LaMarcus Aldridge (groin) missed a game for the first time this season, while C Joel Freeland (knee) and C Meyers Leonard (ankle) also did not play. That left only starting C Robin Lopez and backup F Thomas Robinson available at the 4 and 5 spots. It was the first time any Portland starter has missed a game all year. Lopez, Aldridge, F Nicolas Batum, G Wesley Matthews and G Damian Lillard had started 53 straight games together. ... The Blazers beat the Spurs in eight of the teams' previous nine meetings in Portland. Portland fell to 2-1 against San Antonio this season.