Bill Streicher-USA TODAY Sports

Wesley Matthews hit a 3-pointer with 23.8 seconds remaining to lift the Milwaukee Bucks past the host Philadelphia 76ers 90-88 on Thursday.

Giannis Antetokounmpo led the Bucks with 21 points, 13 rebounds, eight assists and three blocked shots while Brook Lopez added 17 points in the team's season opener. Grayson Allen scored 12 points, and Bobby Portis had 11 points and 10 rebounds.

The Bucks played without Khris Middleton (left wrist), Joe Ingles (left knee) and Pat Connaughton (right calf).

Philadelphia's James Harden scored 16 points in the fourth quarter and finished with 31 points, nine assists and eight rebounds. Harden missed a short jumper with four seconds left as the Sixers took their second consecutive loss to start the season.

Joel Embiid added 15 points and 12 rebounds but shot 6-for-21, and Tyrese Maxey also had 15 points for Philadelphia. Tobias Harris pulled down 10 rebounds.

Matthews hit a 3-pointer with 3:09 left in the second quarter and the Bucks led 41-37.

Embiid and Maxey scored on consecutive possessions and the game was tied.

The Bucks held a 47-45 advantage at halftime thanks in large part to Antetokounmpo's 13 points on 5-of-6 shooting.

The game tightened defensively midway through the third, including Lopez blocking Embiid at the rim, and the Bucks led 58-55 with 5:47 remaining.

When Matthews dropped in a runner in the lane and Portis added a tough shot in the low post with 2:14 to go in the third, the Bucks went ahead 66-57.

Milwaukee led 73-63 at the end of the third after Philadelphia's De'Anthony Melton scored at the buzzer.

The Sixers' frustration was evident as head coach Doc Rivers was whistled for a technical foul with 10:35 left in the contest.

Then after trailing 80-67, the 76ers soon ripped off a 13-0 run to pull level. Harden converted a layup with 6:42 remaining and tied the game at 80.

Antetokounmpo snapped the spurt with a spinning basket in the lane 35 seconds later for a two-point lead.

Harden tied the game again at 84, and Antetokounmpo missed two free throws with 2:07 to go.

Harden then made a short jumper for an 86-84 advantage, but Allen drove to the basket and equalized with 1:10 left.

Two foul shots by P.J. Tucker gave Philadelphia a two-point edge with 32.9 seconds remaining before Matthews sank his winning basket.

More must-reads:

TODAY'S BEST
Watch: Chris Kreider's natural third-period hat trick shatters Hurricanes' comeback hopes
Dodgers starter undergoes season-ending UCL surgery
Knicks star ruled out for potential closeout game
Veteran NFL safety will either play for this team or retire in 2024
Former Red Wings head coach linked to open NHL job
How Patriots' Drake Maye has already impressed Jacoby Brissett
LeBron James, Giannis Antetokounmpo, Stephen Curry among Forbes' highest-paid athletes for 2024
Steve Cohen addresses if Mets could again be trade-deadline sellers
Tiger Woods ruins strong first round with sloppy finish at PGA Championship
Xander Schauffele makes history in first round of PGA Championship
NFL responds to speculation about Chiefs schedule and Taylor Swift
Despite hopes for change, NASCAR championship weekend will return to Phoenix in 2025
Chiefs will achieve something not done since 1927 with 2024 schedule
Caitlin Clark's debut was most-watched WNBA game in more than 20 years
Yankees' Aaron Judge comments on resurgence after bad slump
Odell Beckham Jr. reveals why he was 'hesitant' to join Dolphins
Lakers reportedly interested in adding three-time All-Star via trade
Luka Doncic fed off negative reactions in Game 5 win over Thunder
Celtics finally put away undermanned Cavaliers, advance to conference finals
Avalanche force Game 6 with big third period vs. Stars

Want more Bucks news?

Join the hundreds of thousands of fans who start their day with Yardbarker's Morning Bark, the best newsletter in sports.