The Los Angeles Lakers trailed the the Chicago Bulls by 19 points in the second half until a LeBron James-inspired comeback saw them over the line.
James got 30 points, 11 assists and 10 rebounds – his third consecutive triple-double – to help seal an 118-112 win.
The Lakers have now won six straight games after losing their first of the season and sit top of the Western Conference table.
The Bulls, who for a long time looked like they might get an upset win, are second last in the Eastern Conference.
It was little consolation that Zach LaVine got 26 points, seven rebounds and seven assists.
In Cleveland, the Cavaliers were beaten 119-113 by the Boston Celtics – with 39 of the visitors’ points coming from Gordon Hayward.
The Cavaliers had few answers to the quality of Hayward as he made his first nine shots and shot 17-for-20 from the field.
Kemba Walker was also on form for Boston, scoring 25 points, including six three-pointers.
The Celtics have now won five straight and move up to third in the Eastern Conference, while the Cavaliers remain third from bottom.
In North Carolina, the Charlotte Hornets recovered from being 19 points behind to beat the Indiana Pacers 122-120 in overtime.
In regulation time, reserve point guard Devonte’ Graham gave the Hornets at two-point lead with 27 seconds left on two free throws.
But former Hornets player Jeremy Lamb drew the Pacers level with 5.2 seconds left with a 19-foot jump shot.
Overall, Graham scored a career-high 35 points, including the winning free throws.
Elsewhere, the Atlanta Hawks beat the San Antonio Spurs 108-100, the Oklahoma City Thunder won at home over the Orlando Magic 102-94, and the Denver Nuggets beat the Miami Heat 109-89.