BARCELONA, Spain (AP) Cristiano Ronaldo scored his 12th goal in as many games this season to help Real Madrid to a deceptively tough 3-1 win at second-place Celta Vigo and provisionally increase its Spanish league lead on Saturday.

Ronaldo and Danilo gave Madrid a two-goal lead at Balaidos Stadium by the 23rd minute, but Madrid needed goalkeeper Keylor Navas to protect the advantage before Celta lost Gustavo Cabral to a second yellow card in the 57th.

Despite playing a man down, Manuel ''Nolito'' Agudo got a deserved goal for the hosts in the 85th and Celta almost leveled before Marcelo scored Madrid's last goal just before the final whistle.

More from FoxSports

Celta's first loss of the season left Madrid as the only undefeated team in the 20-team league.

Madrid rose three points clear of both the Galician club and defending champion Barcelona, which hosts Eibar on Sunday.

''We got a good result because we know how tough it is to play here,'' Madrid midfielder Casemiro said.

Even though he was eventually beaten by Nolito, Navas had another outstanding performance between the posts for Madrid since taking it over from club legend Iker Casillas this summer.

Navas, who set a club record with five straight clean sheets to start the season, conceded just his third goal in 12 matches in the league and Champions League.

The Costa Rica `keeper made four excellent saves in the first half and consistently bailed out Madrid's backline that was overrun by Celta's attacking trio of Nolito, Fabian Orellana and Iago Aspas.

''Honestly, Navas stopped four clear goals. You have to congratulate him, I don't know how he did it,'' said Nolito, who scored his seventh goal in the league to match Ronaldo's haul. ''I take away our effort with only 10 men. We have to be happy despite the loss.''

Still without injured stars Gareth Bale and Karim Benzema, replacement forwards Lucas Vazquez and Jese Rodriguez both made contributions by providing the passes for others to score from Madrid's only two shots on target in the first half.

Ronaldo ensured Madrid got off to a great start in the eighth when he passed to Vazquez before making a clever run to slip behind Celta defender Jonathan Castro and receive Vazquez's return pass before slotting home.

Celta searched for an equalizer during a promising 10-minute stretch that included several chances, the best of which was a powerful shot from Orellana that Navas palmed away in the 18th.

But Castro left Celta's left side of the area completely undefended for Rodriguez to find Danilo, and the right back had all the time he needed to size up goalie Sergio Alvarez and double the lead.

Unfazed, Celta surged forward with the same attacking verve that had produced a stunning 4-1 win over Barcelona last month before Lionel Messi injured his knee.

The difference was Navas, who made three more superb interventions before halftime to block Daniel Wass' free kick before saving efforts from Aspas and Pablo Hernandez after they were set up by Nolito.

Other than Madrid substitute Francisco ''Isco'' Alarcon hitting the woodwork in the 69th, Celta dominated possession and the flow of play even after Cabral was sent off for protesting.

Nolito took it on himself to draw Navas to the ground and squeeze a shot past him, only for Marcelo to clear off the line in the 72nd.

Nolito finally beat Navas with a pinpoint strike just inside the top corner, sparking a determined rally by Celta that came up just short of a second goal when substitute John Guidetti missed from close range - before Marcelo made sure of Madrid's win.

Sevilla hosts Getafe later, while Deportivo La Coruna visits Malaga and Real Betis is at Granada.