"I was looking to take (Ruben) Patterson 1-on-1, get in the lane and make something happen," James said. "Andy slipped to the rim and got the two - game-winner!"
Michael Redd scored 29 points, but failed to force overtime when his short jumper missed as time expired.
Cavaliers coach Mike Brown credited Eric Snow with the great defense on Redd.
"Eric was real instrumental in that," Brown said. "He told Larry (Hughes), 'Don't switch, no matter what.' Eric bodied up, got a hand on the ball. Great defense."
The Bucks lost their 12th straight game against Central Division teams since beating the Detroit Pistons in the season opener for both teams on Nov. 1.
"That's been our Achilles' heel all year, finishing out games," Mo Williams said. "We get down the stretch and we try not to lose the game instead of win the game."
The Cavaliers trailed by 12 with 8:46 left to pay, but rallied with a game-ending 25-11 surge started by a 3-pointer from James. James finally tied it at 92 with a driving layup with 43 seconds left after Milwaukee turned it over on a bad pass from Redd to Andrew Bogut in traffic.
"We didn't play our best basketball tonight," James said. "We know that, but we found a way to win and that's what it's about."
Redd then missed a 14-footer and Cleveland called time. The inbounds pass came to James, who dribbled out at the top of the key before finding Varejao, who drove the lane for the layup and was fouled, but missed the free throw.
"LeBron had the confidence to give me the pass, and I made the shot," Varejao said. "I went to the basket and had the luck to make the layup."
The Cavaliers (37-25) won their fourth straight, pulling within two games of Detroit for first place in the Central Division and Eastern Conference. It was James' sixth consecutive game with 32 or more points.
"Tonight's game again shows that we're heading in the right direction," Brown said. "Yes, there are things we have to work on defensively, offensively, but the trust is starting to show."
James, a three-time All-Star, came in averaging 36.6 points on 56.5 percent shooting in his previous five games, topping the 35-point mark in four of those contests. His scoring burst has come after an 11-game stretch in which he averaged 23.8 points on 44.1 percent shooting.
James had his worst offensive game of the season in the Cavs' 95-86 victory at Milwaukee on Jan. 5, setting season lows of eight points and 3-for-13 shooting.
Reserve Donyell Marshall scored 19 points, including five 3-pointers, and Varejao added 10 rebounds and six points as Cleveland won its sixth straight game against the Bucks.
Cleveland cut the Bucks' lead to 83-81 on consecutive wide-open 3-pointers by James, Ira Newble and Marshall. But Brian Skinner scored with a hook shot, Redd hit a jumper and Williams stole an inbound pass and scored as Milwaukee rebuilt the lead to 89-81 with 3:43 left.
"We shoot the three very well as a team," James said after Cleveland made 11-of-21 3-pointers in the game. "Sometimes, we can get into a flow where we take too many 3s, but tonight, we were feeling it."
When Charlie Villanueva hit a jumper over James, Milwaukee had its biggest lead at 81-69 lead with 8:46 left. After a Cleveland timeout, James hit a 3-pointer, but Ruben Patterson, who had 24 points, answered with a short jumper for Milwaukee.
With James on the bench in the third, the Cavs' scoring stopped and the Bucks capitalized with a 22-10 run, sparked by Redd's eight points and Patterson's four, to take a 71-62 lead heading into the fourth.
James was 1-of-5 in the first quarter, but found his touch in second, scoring 12 points on 5-of-7 shooting to keep Cleveland close. Patterson scored 12 points off the bench and Redd, who had 11 in the first, hit his fourth 3-pointer just before the half as Milwaukee led 47-46.
- Bogut, who has not missed a game in two seasons, was held out of practice Friday after he twisted his left ankle in the first half of the Bucks' 110-90 victory over the Los Angeles Lakers on Wednesday. He played 39 minutes and scored 13 points and grabbed 12 rebounds.
- Bogut and Charlie Bell are the only two Bucks to appear in all 63 games so far this season.
- Cleveland improved to 14-5 in March over two seasons. Last season, they were 10-4 in March and are 4-1 so far this month.