Michel Sanchez’s side moved one point clear of Real Madrid, who beat Las Palmas on Saturday, although the Catalan team have played one more match.
Portu finished well in the 20th minute to send Girona ahead in a match they largely dominated but could not make safe by finding a second goal.
Rafa Benitez’s Celta, provisionally 16th, sit two points above the relegation zone.
Girona, in the top flight for only the fourth season in their history, continues to battle with Spain’s giants for La Liga.
“We knew we had to take advantage of the chances we had, in the first half we made a lot of chances to score, they had some too,” said Girona winger Portu.
“At this stage of the league the important thing is three points and competing.”
Girona players and staff have been reluctant to admit the team is in contention to win the title.
“The main thing for us is that we shouldn’t be thinking too far ahead, that would be a mistake,” added Portu.
“We know that we are leaving teams behind us to get into the European places, we have to be realistic, and that’s our objective.”
On a rough pitch at Celta’s Balaidos stadium, Girona took the initiative from the start.
“We had a lot of personality to keep the ball in conditions that were difficult to play on,” said Girona coach Michel.
“They had chances, as did we, but I think we were fair winners.”
Yangel Herrera hammered into the side netting as an early warning and Celta goalkeeper Vicente Guaita kept out an Artem Dovbyk header.
The Ukrainian, La Liga’s joint top goalscorer with Real Madrid’s Jude Bellingham on 14 goals, came close on other occasions but could not add to his tally.
Girona’s Paulo Gazzaniga saved well from Oscar Mingueza before his team took the lead.
Miguel Gutierrez found Portu, who manoeuvered well and stroked home at the near post.
Viktor Tsygankov fired over after being teed up by his compatriot Dovbyk at the end of a slick team move.
Celta threatened through Jorgen Strand Larsen, who headed against the crossbar, but that was as close as they came to an equaliser.
– ‘We had chances’ –
Girona tightened up defensively in a hard-fought second half and Celta could not carve out any clear chances as the clock ticked down.
“We had chances in the first half to equalise or even to go in front, and these kind of opponents don’t let you off the hook,” said Celta Vigo midfielder Renato Tapia.
Barcelona, third, lost 5-3 at home against Villarreal on Saturday, after which coach Xavi Hernandez said he would leave the club in June.
Girona’s victory means reigning champions Barcelona are now 11 points off the top, in third place.
Athletic Bilbao moved provisionally fourth after drawing 0-0 at Cadiz.
Ernesto Valverde rotated after his team’s extra-time win over Barcelona in the Copa del Rey midweek, and they started slowly.
Cadiz had the better of the first half with Athletic goalkeeper Unai Simon making two solid saves to deny Ruben Alcaraz and Ruben Sobrino.
Mauricio Pellegrino’s team secured a point from his first game in charge but it was not enough to take Cadiz, 18th, out of the relegation zone.
Later Sunday Atletico Madrid host Valencia and Sevilla welcome Osasuna.
AFP