Carlo Ancelotti's side fell behind to Ilkay Gundogan's first goal for Barcelona in the 6th minute at the Estadio Olimpico, the Blaugrana's temporary home as the Camp Nou is refurbished.
But not for the first time this season, Bellingham was on hand to turn things around in favour of Los Blancos, with his 30 yard screamer bringing them level in the 68th minute before tucking home the winner in the second minute of stoppage time.
The 20-year-old Englishman has now scored 13 goals in 13 games for Real Madrid since joining from Borussia Dortmund this summer.
The defeat was Barcelona's first in the league this season, which has seen them drop to third on the table.
Real Madrid have assumed top spot and are four points clear of Barcelona, with high-flying Girona in second place only on goal difference.