Greek star Giannis Antetokounmpo added 26 points, 14 rebounds and eight assists for the Bucks, who improved to an NBA-best 9-1 at home in the playoffs.
Milwaukee equalized at 2-2 in the best-of-seven championship series with game five Saturday in Phoenix and game six Tuesday at Milwaukee.
"The only way we're going to win this series is to get one on the road," said Middleton. "It would be nice to get this next one."
The Bucks seek their first crown since 1971 while the Suns seek the first title in the club's 53-year history.
Phoenix's Devin Booker, coming off a playoffs-worst 10-point performance in a game three loss, scored 42 points in a losing cause. The Suns made 17 turnovers to five for the Bucks.
"He could have gone for 50-plus," Suns coach Monty Williams said. "We managed it well. A lot of our problems were self-inflicted. As a team we've got to take better care of the ball."
Jae Crowder made two free throws to put the Suns ahead but Middleton answered with back-to-back jumpers to put the Bucks ahead 101-99.
Phoenix's Chris Paul made his fourth turnover of the game and Middleton finished a fast break with a layup to give the Bucks a 103-99 edge with 27.2 seconds remaining.
Middleton added four late free throws to seal the triumph.
"We just stayed with it, doing what we do," Middleton said. "I hit some tough shots against a tight defense."
Antetokounmpo made key defensive plays late to disrupt the Suns and help spark a 15-0 fast break edge for the Bucks.
"Giannis, that's what he has been doing all year. He's amazing," said Middleton. "He didn't have the dominant performance, but he did it with other things."
Phoenix guard Paul, a 16-year veteran in his first NBA Finals at age 36, managed only 10 points on 5-of-13 shooting.
Only Stephen Curry with 40 points had scored more in the first three quarters of a finals game in the past 25 years than Booker's 38.
But Booker picked up his fifth foul only 70 seconds into the fourth quarter and went to the bench with the Suns ahead 85-79.
With the Suns clinging to a 95-92 lead, Jrue Holiday drove for a breakaway and appeared to be fouled by Booker -- which would have seen the Suns star fouled out of the game with six.
Instead, referees made no call and it took Antetokounmpo's grabbing the ball and making a layup to lift the Bucks within 95-94 with 3:33 remaining.
Milwaukee's Pat Connaughton sank a 3-pointer to put the Bucks ahead but Booker answered with a jumper to level the contest at 97-97 with 2:52 to play, setting up the final drama.
Booker scored 20 in the first half to pull the Suns level with the Bucks at 52-52 at halftime, then added 18 in a 7-for-7 shooting performance in the third quarter despite picking up his fourth foul.
Kareem Abdul-Jabbar and Oscar Robertson, who sparked Milwaukee's championship run half a century ago, were among more than 16,000 fans in attendance.