Felipe headed Porto ahead and Moussa Marega's fifth Champions League goal of the season extended their lead, although Feghouli reduced the deficit before half-time with a successful first spot-kick.
Porto doubled their lead again with a close-range finish from Sergio Oliveira before Eren Derdiyok sparked hope of a fightback for the hosts, which Feghouli extinguished when he hit the bar from 12 yards.
8 - There have been eight penalties taken in FC Porto's Champions League games this season (four won, four conceded); double the amount of any other side in the competition. Spotted.— OptaJoe (@OptaJoe) December 11, 2018
Gala started on top with Derdiyok missing from close range when found in the box by Feghouli, the striker then guilty of another costly error at the other end in the 17th minute.
Alex Telles delivered a superb free-kick into the heart of the Galatasaray box, with Felipe losing marker Derdiyok to power a header past goalkeeper Fernando Muslera.
Porto doubled their lead from the penalty spot, Marega beating Muslera after Mariano tripped Hernani, but referee Aleksey Kulbakov gave a spot-kick to Galatasaray moments later when Felipe fouled Garry Rodrigues, and Feghouli stepped up to slot home and give Gala hope.
Following bad misses from Feghouli and Henry Onyekuru, Porto made it 3-1 in the 57th minute as Marega and Hernani combined to tee up Oliveira.
Derdiyok finally got on the scoresheet when he finished off a low cross from Rodrigues and Fatih Terim's men should have immediately equalised when Kulbakov pointed to the spot for a third time in the game.
Rodrigues drew a foul from Maxi Pereira but this time Feghouli could not convert, hitting the crossbar, but Schalke beat Lokomotiv with a late winner to keep Gala in Europe.
:stopwatch:Final do Jogo / End of the match / Final del Partido— FC Porto (@FCPorto) December 11, 2018
Galatasaray 2-3 FC Porto
Sérgio Oliveira [57']
Derdiyok [65']#FCPorto #GSFCP #UCL pic.twitter.com/r5N5aiD6B3
An open Group D has been completely dominated by Porto, who finished five points clear of Schalke. Sergio Conceicao has produced an extremely dangerous side with Marega a potent threat in attack. They are capable of causing problems in the last 16, although defensive weaknesses were also on show.
Marega shines again
Scoring in five consecutive Champions League games is no mean feat and Marega has been one of the undoubted stars of the group stage. Only Lionel Messi and Robert Lewandowski have been more prolific in the competition this season.
Derdiyok and Feghouli wasteful for Gala
In sharp contrast to the lively Marega, Gala striker Derdiyok had a day to forget despite eventually finding the net. He should have scored at least twice before he did so, with Feghouli also wasting enough chances to bag the match ball.
Key Opta Facts
- Moussa Marega has scored five goals in his last five consecutive Champions League games. He is the second Porto player to achieve the feat, following in the footsteps of Mario Jardel.
- Galatasaray had seven shots on target in this match - that is as many as they managed in their previous four Champions League games combined.
- There have been eight penalties in Porto games this season in the Champions League (four won, four lost); double the amount of any other team.
- Galatasaray have lost their first European home game since September 2015 (0-2 against Atletico Madrid), having been unbeaten in their last six before facing Porto (W2 D4).
- Iker Casillas has become the second player to win 100 games in Champions League history, after Cristiano Ronaldo (also 100).
Gala head to Turkish league leaders Istanbul Basaksehir on Saturday, when Porto visit Santa Clara in the Primeira Liga.