Maksim Medvedev scored a clumsy own goal in the first half, which secured the reigning European champions all three points at the Juventus Stadium.
Azerbaijan put up a spirited performance against the Selecao, frustrating them with solid defending, while goalkeeper Shahrudin Mahammadaliyev produced some incredible saves.
Cristiano Ronaldo, playing at his club home ground, endured a torrid evening and registered another blank, taking his goal-scoring drought to five competitive games now.
Fernando Santos' men struggled to create any clear-cut chances as substitute Joao Felix saw his effort in stoppage time saved.
Azerbaijan deserved a point from this game but will be proud of their performance.
On that note, let's have a look at the player ratings for Portugal:
Anthony Lopes - 7/10
The Portugal custodian was a mere bystander for most of the match. However, one crazy moment in the second half, which saw Anthony Lopes leave the goal wide open, almost gifted the visitors an equaliser.
Joao Cancelo - 6/10
Joao Cancelo tried his luck from distance a few times, but his efforts were wayward. Going forward, he looked promising but didn't make as many crosses as he would've liked.
Domingos Duarte - 5/10
After seeing two efforts miss the target in quick succession early on, Domingos Duarte faded in the match. He had little to do at the other end as well.
Ruben Dias - 7/10
Ruben Dias has been a revelation this season and seemed to carry that form into this game, too, producing a sturdy performance at the back.
Nuno Mendes - 6/10
Not the most impressive debut for the 18-year old teenager, but Nuno Mendes wasn't too bad either. The Sporting CP starlet has to work on his attacking game, though.
Bernardo Silva - 6/10
Bernardo Silva has too often struggled to replicate his club form with Portugal, and the Azerbaijan game was another example of that. The midfielder seemed to run out of creative spark and missed two chances in the game too.
Joao Moutinho - 6/10
Joao Moutinho threw his weight around in defence whenever needed but looked lost going forward.
Ruben Neves - 6/10
Ruben Neves was unlucky with his effort in the 10th minute, as Mahammadaliyev's strong hands parried it onto the crossbar. The Wolves man then won a free-kick late on, which Portugal captain Ronaldo wasted, though.
Pedro Neto - 6/10
Pedro Neto caught the eye for Portugal with a few crosses and promising runs down the wing, but nothing significant came of them. He was later taken off for Rafa Silva in the 67th minute.
Andre Silva - 6/10
The in-form Eintracht Frankfurt ace was a pale shadow of his blistering self on the night, struggling to muster a shot on target.
Cristiano Ronaldo - 5/10
The Juventus star huffed and puffed in his stomping ground but couldn't find a way past the Azerbaijan defence. He also wasted three good free-kick opportunities.
Ratings of Portugal Substitutes
Bruno Fernandes - 6/10
Bruno Fernandes couldn't add the spark Portugal desperately craved for.
Joao Felix - 6/10
The Atletico Madrid star missed a great chance in stoppage time, firing straight at the indomitable Azerbaijan goalkeeper Mehemmedeliyev.
Rafa Silva - 5/10
Rafa Silva replaced the ineffective Neto but didn't prove to be much of an upgrade.
Sergio Oliveira - N/A
Sergio Oliveira came on too little to merit a rating.
Joao Palhinha - N/A
Joao Palhinha came on too late to merit a rating.