Chris Bosh shook his head, unsure how the Miami Heat just keep winning away from home.

This time it was because Bosh stepped up in a big way late, just like someone always has whenever the surging Heat needed it during their 12-game road winning streak.

Bosh had 16 points and 12 rebounds, leading Miami in a 101-95 overtime victory over the Milwaukee Bucks on Friday.

"I don't know. I'm not going to lie to you," Bosh said. "You always have to find a way to win in tough environments like this and we knew they weren't going to go away."

Miami has won eight straight and 20 of its last 21 after a 9-8 start, but this was by far one of the grittiest games the Heat have played as they inch closer to the 1971-72 Lakers' record streak of 16 consecutive road wins. They would tie the mark if they win all five games on this trip.

Bosh scored 10 of his 16 in the fourth quarter and overtime, while LeBron James added 18 of his 26 points in the first half to go along with 10 rebounds.

"It's not always going to be a bed of roses for us three and for our team. We shot less than 40 percent from the field as a team, but we found a way to win and continued to get stops, especially in the fourth and in overtime," said James, who sang Corey Hart's "Sunglasses at Night" loudly on his way to the shower.

It appeared this game wouldn't be close after Miami led big early.

But Andrew Bogut had a career-high 27 rebounds and scored 12 points despite a 4-of-17 effort from the field, Chris Douglas-Roberts scored 30 points off the bench and Earl Boykins hit a layup over 7-foot-3 Zydrunas Ilgauskas to send the game to overtime.

"We had our chances, we just didn't take them," Bogut said.

Miami next goes to Portland, followed by Los Angeles to play the Clippers, Denver and Chicago after escaping the city where the Lakers' streak ended 39 years ago.

The Heat never trailed in overtime.

With the game tied at 95, Bosh hit two free throws and after John Salmons missed a 3-pointer, Carlos Arroyo added a layup that made it 97-93.

Boykins made a wild shot off the glass that cut the lead to two with 1:01 left, but couldn't hit a long 3-pointer that would've given the Bucks the lead on their next possession and finished with 14 points.

Wade, who had 14 points, grabbed the rebound and Arroyo hit two free throws with 8.9 seconds to play. James added two more for the final margin.

Milwaukee led 87-83 on Boykins' jumper with 3:05 left, but Wade hit two jumpers, drawing a foul on the second against Bogut that tied it at 87. Wade missed the free throw, but Bosh followed with a tip that made it 89-87.

With 26 seconds left, Douglas-Roberts was fouled by Wade and went on to miss both free throws, the second rattling twice off the rim. He finished one point from matching his career high and was succinct when asked what cost the Bucks.

"Those free throws by me," he said.

Bosh and Bogut then exchanged free throws that kept the Heat ahead 93-91 and Boykins tied it after getting a screen, splitting the defense of Bosh and Wade and hitting an off-balance layup over Ilgauskas with 1.5 seconds left.

Wade had a wide open look at the buzzer from 18 feet, but hit the back iron to send the game to overtime.

"I have never been open on a game-winning shot," he said. "It left my hand, it felt good. It didn't go in."

Heat coach Erik Spoelstra said the consecutive games against Milwaukee compared to a playoff style schedule because Miami had two days off between the contests. It certainly had its moments, including a total of four individual technical fouls as the game turned chippy and players on both sides vented their frustration at officials.

"I like these type of games," Spoelstra said. "This is where you grow. I know we'll learn from some of these situations going down the stretch. And the guys had to gut it out. Things were not going our way."

Milwaukee is without starters Drew Gooden (left foot) and Brandon Jennings (left foot), but Douglas-Roberts provided a big spark.

The lanky 6-foot-7 guard acquired for a 2012 second-round draft pick from New Jersey this offseason beat James to a ball, taking a hard hit in the process, but helping start a fast break that Salmons finished with a layup to tie the game at 63, erasing the last of Miami's 16-point, first-half lead.

Milwaukee, which is 0-3 against Miami this year, hung with the Heat for three quarters in a 101-89 loss in Miami on Tuesday, but it didn't appear they would last even a quarter in this one after trailing by 12 after one and 42-26 early in the second.

James recorded his 500th block in the final minute of the half when it appeared Keyon Dooling would have an easy layup. James soared into the lane to swat it away, just a glimpse of the intensity ahead.

"It takes luck sometimes. It takes games like this. Games that you maybe shouldn't have won," James said. "You have streaks like that, you definitely need some type of luck."

NOTES: James disagreed with NBA Commissioner David Stern that interest in his free agency last summer brought more fans to the league, saying there's many great players in the NBA and he's just trying to do his part. Stern told foxsports.com earlier Friday that James is working hard to be a good ambassador for himself and the game. ... Bucks F Carlos Delfino could return in about two weeks from a concussion that's sidelined him for two months. He worked out at shootaround before Friday's game. ... It was Bogut's seventh career game with 20 or more rebounds.