Johnson's layup with 11.1 seconds left also pulled ISU (10-5, 1-0) to within one point.
ISU got the ball back when Matt Lawrence inbounded the ball to Hannah in the left corner and Hannah was immediately trapped and then fell down. Hannah attempted to call a timeout on the way down but was whistled for traveling.
Johnson, who had 14 points and 13 rebounds, made the winning shot off a missed 3-pointer by Mike Taylor. It was the first lead for ISU since an early 9-6 advantage.
Iowa State recovered from a first half in which it scored a season-low 23 points on 30-percent shooting with 14 turnovers. The Cyclones shot 48.5 percent in the second half and had only six turnovers.
Brown, who scored 15 points in the second half, appeared to get hammered on a final desperation shot from three-quarters of the court for Missouri although there was no call. Brown scored seven points in the first 1:25 of the second half to help Mizzou, which led 25-23 at the break, take its first double-digit lead.
The Tigers led 44-28 with 15:17 to go when Keon Lawrence scored off a turnover. Five 3-pointers in the next seven minutes, combined with three inside baskets by Hubalek, helped the Cyclones whittle the deficit to 57-51 with about six minutes to go.
Iowa State went nearly six minutes between points late in the first half, and Missouri wasn't much better with only seven points in the final seven minutes. The Cyclones' point total was a season low while Missouri matched its worst.