The game was close throughout the second half and overtime appeared likely after Houston's James Harden hit a layup with 34 seconds to go that tied it at 107-107.
Milwaukee worked the ball to Brandon Jennings for a would-be final shot and he tried to drive the lane. After being cut off by Houston's Jeremy Lin, Jennings fed the ball to Ellis and his desperation attempt off one foot circled the rim and fell through.
Ellis scored 27 points and had 13 assists while Ersan Ilyasova added 20 points and 10 rebounds for the Bucks. Milwaukee has won back-to-back games while climbing to the .500 mark.
Harden scored 25 points for the Rockets, who had won five in a row at home. Chandler Parsons added 20 points and Omer Asik had 16.