Barcelona made it two wins from two in this season's Champions League as Ferran Torres' goal secured victory at Porto.
The ex-Manchester City forward replaced the injured Robert Lewandowski midway through the first half.
Torres then grabbed what would be the winner just before the break, driving in from Ilkay Gundogan's pass.
Porto battled for an equaliser in the second half and Barcelona had Gavi sent off in the 93rd minute, but held on.
Goalkeeper Marc-André ter Stegen had kept the hosts at bay, keeping out Wendell's strike before parrying Galeno's curled effort.
Barcelona teenager Lamine Yamal continued his impressive breakout season by making more history.
At 16 years and 83 days he became the youngest player to start a Champions League game.
Latest Stories
-
Contributors own SSNIT, they must decide who becomes its Director-General – Austin Gamey
38 mins -
Move away from theory-based learning towards practical learning approaches – AUCC President to students
47 mins -
Haaland scores as Manchester City beat Nottingham Forest
2 hours -
Villas-Boas elected Porto president
2 hours -
Situation on frontline has worsened, Ukraine army chief says
2 hours -
US doctor describes witnessing starvation in northern Gaza
2 hours -
CAFCC: RS Berkane make final after USM Alger refused to play 2nd leg over Moroccans’ jersey
2 hours -
Elon Musk in China to discuss enabling full self driving
2 hours -
PSG clinch Ligue 1 title after Lyon’s win over Monaco
5 hours -
Guinness Ghana sets the pace at Ghana Beverage Awards with six awards
5 hours -
Burkina Faso suspends BBC, VOA radio broadcasts over killings coverage
5 hours -
Nicole Kidman honoured with AFI Life Achievement Award
5 hours -
Brassier scores winner for Brest as they edge Rennes to secure European football
5 hours -
Akufo-Addo jabs Ejisu independent candidate; rubbishes allegations to rig by-election
6 hours -
‘What are the real causes of the erratic power outages?’ GUTA asks ECG
6 hours