James injured his right groin Friday night in a 108-103 overtime loss at Sacramento that snapped Miami's six-game winning streak. He stayed in that game and finished with 33 points, eight rebounds and eight assists.
James, selected The Associated Press Male Athlete of the Year this week, also tweaked his left ankle in the loss.
The four-time NBA MVP warmed up before the game against the Trail Blazers, but was declared inactive about an hour before the opening tip.
"These guys are competitive. They all want to play, but he understood tonight," Heat coach Erik Spoelstra said. "A lot of our guys are Type A competitive so you can't leave the decision to them. We were thinking health first and big picture. He understood. When he went out there he knew he wouldn't be able to push it."
James was replaced in the starting lineup by Michael Beasley, and the Heat edged the Blazers 108-107 on Chris Bosh's go-ahead 3-pointer with 0.5 seconds left. Bosh had a season-high 37 points and added a team-high 10 rebounds.
James leads the Heat with an average of 25.2 points, 6.9 rebounds and 6.5 assists. He was not available for comment before or after the game.
The two-time defending champions also were without Chris Andersen (sore back), but Ray Allen (right knee tendinitis) and Dwyane Wade (rest), who both missed the game against the Kings, played against Portland.
James was the only Miami player to start the team's first 29 games.
"When he's in the game we rely so much on him offensively and when he is out of the game our package is so much different," Wade said. "We just wanted everyone to be aggressive."
During the Sacramento loss, James passed Larry Bird (21,791 points) and Gary Payton (21,813 points) to move into 29th place on the NBA's career scoring list.
With 21,819 points, the next player in front of James is Clyde Drexler at 22,195.
James has given the Blazers trouble at the newly renamed Moda Center. In 10 games in Portland, he has averaged 29.6 points, 9.9 rebounds and 7.2 assists.
He is listed as day-to-day. He turns 29 on Monday when the Heat play at Denver to wrap up a four-game trip.