It was Houston's first win over a Top 25 team since beating then-No. 25 Tulsa on Dec. 4, 1996.
Freshman Tello Palacios had 20 points for Louisville, which lost to Houston for the first time in nine meetings. The Cougars last win over the Cardinals was Feb. 21, 1993.
Down by as many as eight in the early minutes of the second half, Louisville narrowed it to 58-57 on a 3-pointer by Palacios with 3:13 to play. Brandon Jenkins' 3-pointer with 2:09 then tied it at 60 and two free throws by Larry O'Bannon gave the Cardinals a 62-60 lead with 2:03 to play.
Palacios hit a 3 with 1:45 left for a 65-62 lead, but Owens answered with a 3 to tie it again with 1:04 left.
Francisco Garcia hit a 15-foot jumper with 34 seconds remaining for a 67-65 Louisville lead.
But Owens hit his 3 and Garcia was then called for a charge on the other end. Lanny Smith's two free throws with 10 seconds gave Houston its final points.
Louisville starting guard Taquan Dean, who averages 15.7 points, failed to score for Louisville, which ended a five-game win streak. He missed the Cardinals' last game with back spasms, was bothered by them again Wednesday and played only 17 minutes -- none in the second half.
After five ties and four lead changes in the first 12 minutes, Louisville went on a 7-0 run to take a 21-16 lead with 6:29 to play in the first half. The Cardinals hit five 3s in the opening 13 1/2 minutes.
Houston, which missed 22 of its first 28 shots for 21 percent shooting, stayed alive by making six steals as Louisville had nine turnovers the first 14 minutes.
The Cougars then went on a 9-3 run, capped by Owens' 3-pointer, to take a 30-27 lead with 2:03 left in the first half.
Owens had 18 points, including the Cougars' last seven, as Houston led 34-30 at halftime.