Jordan Bohannon had 19 points and a career-high 14 assists for the Hawkeyes (11-2, 5-1 Big Ten), who avenged their overtime loss to the Golden Gophers on Christmas. Bohannon did not have a turnover in 36 minutes.
Iowa, which led 39-37 at halftime, opened the second half with a 22-6 run. Garza had 10 of his points in that stretch.
Minnesota (10-4, 3-4) rallied from a 63-45 deficit to get to within five points twice late in the second half. The Gophers defeated Iowa 102-95 in overtime on Dec. 25 by coming back from seven points down with 44 seconds left.
Garza, who came into the game leading the nation in scoring at 27.2 points per game, was 13 of 20 from the field.
Bohannon, who missed most of last season after undergoing a second hip surgery, has scored 74 points in his last four games combined after scoring just 27 in the previous five.
Jack Nunge added 10 rebounds for the Hawkeyes.
Both Gach and Marcus Carr scored 13 points apiece for the Gophers. Brandon Johnson had 12. Liam Robbins added 10.
Carr had 30 points and Johnson 26 against the Hawkeyes earlier this season.
Wieskamp became the 50th player in Iowa history to score 1,000 career points. The 1,000th point came on a free throw with 17:48 left in the second half. Wieskamp, a junior, has 1,009 career points.
Iowa won its fourth consecutive game and stayed within a half-game of the Big Ten lead. Minnesota, which went undefeated in nonconference play, lost for the third time in four games.
Iowa: At home against No. 23 Michigan State on Thursday
Minnesota: At home against No. 10 Michigan on Saturday.