After a 69-point outburst in the first half, it would have been easy for the San Antonio Spurs to believe they were going to capture their seventh consecutive win with little resistance.

Instead, the Spurs had to withstand a pair of second half rallies from the Milwaukee Bucks to hang on for a 117-110 victory Wednesday night.

"We knew they were going to make a run at some point," said San Antonio forward Tim Duncan, who had 28 points, 13 rebounds and six assists. "They made a run there at the end. They are very good in this building and we knew that. They've come back on a lot of people here."

Spurs coach Gregg Popovich said he, too, expected the Bucks to make a run, even though the Spurs jumped out to a 17-point halftime edge.

"They never die. That's one thing about these guys," Popovich said. "They've done it to a lot of teams. They did it again tonight. They put their heads down and started driving and they got themselves back into the game."

The Bucks used a 13-3 run over the last 2:57 of the third quarter to cut San Antonio's lead to 93-81. The Bucks eventually cut the lead to 94-85 early in the fourth quarter before Popovich reinserted his starters and the Spurs began to pull away again.

However, a 10-2 Bucks rally in the waning seconds of the game, which included a dunk by rookie John Henson, cut the Spurs' lead five points with 20 seconds remaining. A pair of free throws by Patty Mills with 12 seconds left sealed the victory for the Spurs.

"We were in a good groove but in the second half (Milwaukee) played hard," said Tony Parker, who added 23 points and 11 assists for the Spurs, who shot 52 percent from the field for the game. "They played with a lot of energy and came back on us. They played very physical."

Brandon Jennings paced Milwaukee with 31 points. Henson scored a career-high 20 points and added nine rebounds. Mike Dunleavy had 19 points.

Popovich said he had hoped San Antonio would have been able to maintain the wide margin it held prior to the Bucks' third-quarter rally so he could get his veteran players some much-needed rest in preparation for a Thursday night game in New York against the Knicks.

"I was hoping I could get some guys a little more rest but (Milwaukee) didn't allow that," Popovich said.

The Spurs were fined by NBA Commissioner David Stern earlier this season after Popovich sent Duncan, Parker, Manu Ginobili and Danny Green home for a national television game against the Miami Heat, which followed a game the previous night against the Orlando Magic.

Duncan, who played 34 minutes, said he wasn't concerned about rest.

"We were prepared to play it horn to horn," he said.

Despite having to fight off a challenge from the Bucks, San Antonio ran its record to 19-1 this season when leading after three quarters.

Duncan scored 12 points in the first quarter as the Spurs built a 33-22 lead while shooting 58.3 percent and outscoring the Bucks 11-0 on fast-break points.

Duncan opened the game by hitting three consecutive mid-range jump shots.

"As his career has gone on, he has become a much better jump shooter. He can beat you a lot of different ways," Dunleavy said.

The Spurs extended the advantage to 69-52 at halftime behind 20 points from Duncan. The 69 points were the most given up by the Bucks in a half this season, topping the 58 points allowed by the team in the second half against the Spurs in a 110-99 loss in San Antonio on Dec. 9.

Henson had 10 second-quarter points for the Bucks, who won six of eight games at home during December before running into the streaking Spurs in Milwaukee's first game of the new year.

Duncan had high praise for Henson's performance.

"He had a great game tonight. I honestly didn't know much about him but it looked like he had a great skill set out there," Duncan said.

Henson has "upped his work ethic" over the past month, Bucks coach Scott Skiles said.

"He deserved a look," Skiles said. "John is a skilled offensive player. He made some plays out there that stand out. He made some NBA plays. It was a good step forward for him against a good team."

The early deficit faced by the Bucks turned out to be too much to overcome in the end.

"Very few teams are just going to quit but you have to do a lot of things well to be in the game with that team and compete against that team," Skiles said.

Notes: The first-half output by San Antonio matched the 69 points the team scored in the opening two quarters against Houston on Dec. 28. The Spurs scored 73 second-half points against Charlotte on Dec. 8. ... Spurs guard Gary Neal returned to the lineup Wednesday after missing four consecutive games with a strained right calf. "He's a dangerous player. I'm really happy for him because he finally has an NBA career," San Antonio coach Gregg Popovich said of Neal, who played four seasons overseas before joining the Spurs in 2010. .Bucks guard Beno Udrih was inactive for the game after what Skiles described as a "flare-up" of an ankle injury that kept him out of 12 games earlier this season. Udrih, who didn't practice Tuesday, played 17 minutes but didn't score in Milwaukee's previous game against Detroit on Sunday. ...Duncan registered a blocked shot for the 20th consecutive game, the longest active streak in the NBA. Milwaukee forward Larry Sanders, whom Duncan was matched up against, blocked a shot for the 17th game in a row, tying him with Oklahoma City's Serge Ibaka for the second-longest active streak.