Middleton helped put the game away with 10 straight points late in the fourth quarter, guiding the Bucks to their second straight win in the series, which is now tied at two games apiece.
Game 5 is set for Saturday night as the series shifts back to Phoenix.
"We know he's going to take big shots," Bucks star Giannis Antetokounmpo said of Middleton. "We know he's going to make big shots and tonight he was incredible."
Antetokounmpo finished with 26 points, 14 rebounds and eight assists for the Bucks, who improved to 9-1 at home in the playoffs. Milwaukee is attempting to overcome a 2-0 series deficit for the second time in this postseason.
Bucks big man Brook Lopez had 14 points, while Jrue Holiday scored 13 points on 4 of 20 shooting. Pat Connaughton notched 11 points and nine rebounds in 32 minutes off the bench.
Devin Booker scored 42 points for the Suns, but his early foul trouble prevented Phoenix from building a big lead early in the second half. Chris Paul struggled in the loss, ending with just 10 points and five turnovers.
"This is a tough one but we've got to bounce back," Paul said. "That's why we fought all season to get home court."
Jae Crowder recorded 15 points and eight rebounds, while Cam Johnson added 10 points off the bench. Deandre Ayton brought down 17 rebounds, but the star big man had only six points on 3 of 9 shooting.