CHARLOTTE, N.C. -- Ramon Sessions wanted another chance to prove he had some ice left in his veins. He got that chance Monday night and took advantage of it.
The Bobcats trailed by 11 in the fourth but battled back, going 16 of 16 from the free throw line down the stretch.
Sessions' two free throws came after Monta Ellis missed a 3-point attempt with 5.9 seconds remaining, sending the Bucks to their first road loss of the season and lifting the surprising Bobcats (5-4) back above .500.
Sessions was 10 of 10 from the foul line and the Bobcats shot 90 percent (27 of 30) for the game.
Sessions missed two key free throws last week against Minnesota in the game's final seconds and the Bobcats needed a jumper from Kemba Walker with 0.7 seconds left to pull off an 89-87 win.
"When I missed those two I wanted the chance to redeem myself," Sessions said. "It's one of those things that comes around and I had to take advantage of it."
The Bucks never led by more than four until the fourth quarter when Ellis began to turn it up a notch, scoring six quick points to help put Milwaukee up 11.
But the young Bobcats rallied.
Sessions hit a long 3-pointer to tie the game at 96 off a pretty feed from Mullens and Kidd-Gilchrist added two free throws to give the Bobcats the lead with 2:01 to go.
Trailing by two with under a minute to play, Samuel Dalembert missed badly on an awkward looking 13-footer off a pick and roll. Dalembert later called it an "indecisive" play.
"I was about to go and drive, but when I saw a man coming I decided to shoot," Dalembert said.
The Bobcats had a chance to build on the lead, but couldn't get into an offensive play and Sessions turned the ball over at the top of the key with 19 seconds left. The Bucks had a chance to win it, but Ellis missed a 3-pointer from the left wing.
Charlotte is coming off the worst season in NBA history, finishing 7-59 while losing their final 23 games. It took the Bobcats 36 games last season before they won their fifth game, but this year's team looks nothing like last year's -- playing hard, physical basketball under new coach Mike Dunlap.
Charlotte came into the game in the top 10 in the NBA both in steals and blocks, one of only three teams with that distinction.
"The one they're doing is really playing hard," Dunleavy said. "They compete every night and they're not going to roll over. When you do that in this league you're going to win more than seven games. They're going to blow that mark away this year obviously. They're headed in the right direction."
Still Dalembert said the Bucks missed a golden opportunity to get a win.
"No disrespect to Charlotte, but those are the games that we should be winning," Dalembert said.
But Bucks coach Scott Skiles said it's tough to win in the NBA when you're not focused.
"I don't want to short-change their win. They deserved to win the game," Skiles said. "... But our whole approach tonight was not good. We had great difficulty remembering plays and we were just mentally kind of out of it."
The Bobcats shot 53.5 percent from the field in the first half to take a 55-54 lead at the break.
Walker was on fire early, hitting 6 of 6 shots from the field in a 15-point first half, marking the ninth straight game he's reached double digits.
Charlotte is now 4-0 on games decided by four points or less.
"There's nothing like a win to give us confidence to put another page in the blueprint on how to close games out," Dunlap said. "We've had a lot of close games and won most of them. So that's a good sign for a young team."
The Bobcats announced before the game that F Tyrus Thomas is expected to miss approximately two months with a torn muscle in his lower left leg. An MRI revealed a second-degree strain of his left calf muscle and a tear of the plantaris muscle, a smaller muscle that assists the calf in flexing the ankle. ... Charlotte's Ben Gordon left the game in the second half with a right knee contusion. ... Dunleavy had a season-high four blocked shots for the Bucks.