New coach Rafa Benitez restored James to the starting lineup against last season’s second division winners after he was controversially left out in the 0-0 draw at another promoted side, Sporting Gijon, on the opening weekend.
The Colombian was in scintillating form at the Bernabeu and crossed for Bale to head home in only the second minute.
James smashed in a superb free kick before halftime and Bale crossed for Karim Benzema to make it 3-0 two minutes into the second half.
Playmaker James then fired in an acrobatic overhead kick three minutes later as Real put Seville-based Betis to the sword.
Betis had a chance to pull a goal back when Raphael Varane conceded a penalty for a foul on substitute Jorge Molina but Keylor Navas saved Ruben Castro’s weak 61st-minute effort.
Bale, who overshadowed an out-of-sorts Cristiano Ronaldo, sealed a resounding win with a long-range effort a minute from time that cannoned in off a post.
“We were able to finish more accurately today,” Real full back Marcelo told Spanish television.
“It was a very good performance,” added the Brazil international. “But we’re just at the start and there are many things still to improve.”
Earlier, Thomas Vermaelen scored his first goal for Barca in their laboured win over Malaga at the Nou Camp, a second consecutive 1-0 victory for the European champions after they beat Athletic Bilbao by the same score last weekend.
Gijon spoiled Asier Illarramendi’s return to Real Sociedad’s midfield after rejoining from Real Madrid this week when they held the Basque club, coached by Scot David Moyes, to a 0-0 draw in San Sebastian.
Rayo Vallecano had goalkeeper Tono sent off for felling Celta Vigo midfielder Daniel Wass in the ninth minute at the Balaidos stadium.
Nolito scored for the hosts from the resulting penalty and then made it 2-0 five minutes into the second half before Andreu Fontas wrapped up the win late on.
Celta also have two victories from two matches and top the table ahead of Barca on goal difference, with Real two points behind in third and Villarreal, who won 3-1 at home to Espanyol on Friday, also on four points in fourth.
With a fit-again Neymar restored to the attack alongside Lionel Messi and Luis Suarez for the first time this season, Barca looked to their normally lethal South American trio to break down stubborn Malaga.
However, it was Vermaelen who finally broke through following relentless pressure when he hammered a loose ball into the net from a 73rd-minute corner.
The Belgium defender suffered an injury-plagued first season at Barca last term after joining from Arsenal.
“I didn’t celebrate the goal because I am not used to being in these situations and I don’t know how to,” Vermaelen told reporters.
“Everyone knows the problems I have been through,” added the 29-year-old. “The pre-season was very important and the coach (Luis Enrique) has given me the chance to show what I can do.”
(Reporting by Iain Rogers, editing by Tony Jimenez)