Ersan Ilyasova chipped in 20 points for Milwaukee, which moved within a half-game of idle New York with its fourth straight victory. The Bucks are .500 (28-28) for the first time since they were 2-2 on Jan. 2.
LaMarcus Aldridge finished with 21 points for Portland, which lost 116-87 to Milwaukee on March 20 -- its worst home loss of the season.
Wesley Matthews added 14 points for the Trail Blazers, who were hoping to win consecutive road games for the first time this season.
The Bucks shot 50 percent (47 of 94) from the field and were 12 of 25 (48 percent) from 3-point range.
Milwaukee outscored Portland 30-11 in the final quarter, and scored 19 of the first 24 points of the period.
Jennings dribbled the ball between his legs and swished a 3-pointer in front of Raymond Felton for a 99-88 lead with 6:34 to play.
Jennings then delivered two assists that led to dunks by Larry Sanders for a 103-88 lead with 4:06 remaining. Sanders finished with a season-high 14 points.
The lead was 105-88 after Jennings sank two free throws with 3:40 left. He had 12 points in the period.
A victory for the Trail Blazers would have given them their first three-game winning streak since starting the season 3-0. But they missed 11 of their first 13 shots of the final quarter and never recovered.
Portland led 63-54 at halftime, but Milwaukee held an 86-83 advantage after the third quarter. A 3-pointer by Mike Dunleavy gave the Bucks an 84-83 edge, their first since early in the second quarter, with 1:02 left. Dunleavy then delivered a pass to Sanders for a dunk and three-point lead with 36 seconds to play.
Carlos Delfino and Drew Gooden returned to the starting lineup for Milwaukee. Delfino missed the past six games with a right groin injury and Gooden sat out the previous two with a sore back. Luc Mbah a Moute did not play for the second game in a row because of a sore right knee. The Bucks have won six of their last seven games. . Aldridge has scored at least 21 points in five games since returning from a left elbow sprain that kept him out of the game March 20.