Diogo Jota and Cristiano Ronaldo scored to help spare Portugal's blushes and deny Luxembourg another major World Cup 2022 qualifying win.
Luxembourg beat Republic of Ireland on Saturday and led the European champions through Gerson Rodrigues' header.
But Liverpool forward Jota headed home in the final attack of the first half.
Ronaldo tapped in early in the second half to turn the tide in Portugal's favour, with Joao Palhinha glancing in a header to seal the win.
Before that Jota had gone close with a header that hit the bar, while Ronaldo could have had a second goal himself, but failed twice to beat home goalkeeper Anthony Moris after running clear of the defence.
What at one stage looked to be a night of such promise for Luxembourg ended with them reduced to 10 men as Maxime Chanot was shown a second yellow for a foul on Renato Sanches.
The win takes Portugal to seven points in qualifying Group A, level with Serbia, with whom they controversially drew 2-2 at the weekend.Line-upsLuxembourg
11Thill8Martins Pereira16Barreiro Martins15Thill
10Rodrigues9Sinani1Moris18Jans2ChanotBooked at 86mins7Gerson17PintoSubstituted forMartins da Graçaat 66'minutes11ThillSubstituted forDevilleat 58'minutes8Martins PereiraSubstituted forSkenderovicat 87'minutes16Barreiro Martins15ThillSubstituted forThillat 58'minutes10Rodrigues9SinaniSubstituted forMuratovicat 87'minutesSubstitutes3Mahmutovic5Bohnert6Rupil12Schon13Dzogovic14Deville19Skenderovic20Muratovic21Thill22Martins da Graça23FoxPortugal
20Cancelo6José Fonte4Rúben Dias5Tavares Mendes
7Cristiano Ronaldo12Lopes20Cancelo6José Fonte4Rúben DiasBooked at 70mins5Tavares Mendes18NevesSubstituted forOliveiraat 89'minutes16Renato SanchesBooked at 83mins10Bernardo SilvaSubstituted forAlves Palhinha Gonçalvesat 68'minutes23SequeiraSubstituted forNetoat 41'minutes17JotaBooked at 38minsSubstituted forFerreira Silvaat 68'minutes7Cristiano RonaldoSubstitutes1Malheiro de Sá2Novo Neto3Coutinho Meneses Duarte9André Silva11Alves Palhinha Gonçalves14Oliveira15Ferreira Silva19Neto21Cédric Soares22Dantas da SilvaLive Text
Match ends, Luxembourg 1, Portugal 3.
Second Half ends, Luxembourg 1, Portugal 3.
José Fonte (Portugal) wins a free kick in the defensive half.