New York Knicks guard Jalen Brunson (11) reacts after the end of the game against the Houston Rockets at Toyota Center. Troy Taormina-USA TODAY Sports

Watch: Knicks lose on controversial foul with less than a second remaining

An excellent Knicks-Rockets game on Monday night was undone by a controversial foul call on Knicks guard Jalen Brunson with 0.3 seconds remaining.

Rockets guard Aaron Holiday attempted a one-armed heave beyond the arc with the game tied at 103. After he released the ball, Brunson made minimal contact on Holiday's way down, prompting the referees to put their stamp on the game with the unnecessary whistle.

The Rockets won 105-103.

The call marred an otherwise outstanding effort from Bunson. Moments earlier, he tied the game with a stepback jumper over Rockets small forward Dillon Brooks.

The Knicks' sixth-year guard finished with 27 points, his 14th consecutive game with at least 20 points, but Monday's game will be remembered for its controversial ending above all else.

That isn't just unfortunate for Brunson. It also is a disservice to the Rockets, which played well enough that they would have had a chance of winning in overtime. 

Houston was effective in attacking the paint, finishing 24-of-33 on shot attempts 0-4 feet from the rim. The Rockets were also active defensively, pestering the Knicks into 17 turnovers.

Rookie Amen Thompson was a key contributor, finishing with a season-high five steals. Brooks also made six of his seven three-point attempts.

The loss is the third in a row for the Knicks (33-21, fourth in Eastern Conference). The win snapped a four-game losing streak for the Rockets (24-29, 12th in Western Conference), which sits 2.5 games behind the Warriors for 10th in the conference.

More must-reads:

TODAY'S BEST
49ers Hall of Fame CB Jimmy Johnson dies
Rams make surprising move with former team captain
NBA announces discipline for Bucks' Patrick Beverley
Hall of Fame RB defends Najee Harris after Steelers decline fifth-year option
Pacers file shocking number of questionable calls after Game 2 loss vs. Knicks
Former NBA star says Anthony Edwards becomes face of the NBA if Wolves knock off Nuggets
Hornets hire top Celtics assistant as next head coach
Maple Leafs fire HC Sheldon Keefe after another early playoff exit
Super Bowl champion discusses why Russell Wilson failed with Broncos
Colts LB Zaire Franklin calls out Texans, C.J. Stroud
Angels to acquire longtime Mets infielder from Braves
Giants sign former Pro Bowl wide receiver
Report reveals why the NBA did not suspend Jamal Murray
Pressure mounts on Nuggets as Nikola Jokic wins third MVP Award
Jalen Brunson shakes off injury to lift Knicks to Game 2 win
Panthers dominate Bruins to even series
LSU HC pins transfer portal struggles on reluctance to 'buy players'
Pirates announce date for 2023 No. 1 overall pick's MLB debut
Shohei Ohtani showing what would happen if he only focused on hitting
Joe Burrow shares 'support' for Bengals who requested trades