Hampered by a strained left shoulder, James Harden nearly had his streak of consecutive 30-point games come to an end before coming alive down the stretch as the host Houston Rockets defeated the Dallas Mavericks 120-104 Monday.

Harden finished with a game-high 31 points on 9-for-23 shooting and rounded out his stat line with eight rebounds, seven assists and five steals.

The Rockets relied on a collective effort to build a lead against Dallas, with four others scoring in double figures, including guard Gerald Green, who poured in 19 points in 22 minutes off the bench while drilling 5 of 8 3-pointers.

After the Mavericks sliced what was once a 21-point deficit to 109-100 on a Jalen Brunson 3-pointer with 2:52 left to play, Harden drilled back-to-back treys to mute the rally.

Harden added two free throws and then hit another 3-pointer with 52.9 seconds left to give him 31 points and extend his streak to 30 games, the third-longest in NBA history.