Shane Duffy spared Ireland's blushes as Stephen Kenny's side just about avoided another shock defeat in the World Cup qualifying campaign drawing 1-1 with Azerbaijan at the Aviva Stadium.

Despite Ireland’s first-half dominance, it was the visitors who had the final say on the stroke of half-time as Emin Makhmudov’s long-range effort broke the deadlock and silenced the home support.

The home side bombarded the Azerbaijan goal throughout the second half but lacked the composure to restore parity right until the 87th minute when Shane Duffy headed home.

The late goal prevented Ireland from falling to their fourth defeat in a row in the campaign, although the road to Qatar appears to have run down a cul de sac.

The crowd was back at the Dublin 4 venue and the once-absent acoustics returned in full force as the half-capacity arena boomed like a full house.

And the team responded, revved by the racket, as the opening ten minutes led to three great Ireland efforts.

First Matt Doherty's great run late from the right was spotted by Josh Cullen but the header could not be worked on target, before a charging Adam Idah outmuscled Hojjat Haghverdi on the right, then found Aaron Connolly arriving. The visitors got numbers back and some decent defending blocked the effort on goal.

And then in the ninth minute, the best chance of the trio arrived at the feet of Seamus Coleman, who skipped onto a squared Jayson Mollumby pass.

The captain feinted to go wide, but cut inside to the edge of box and looked to curl left footed into top corner - alas, without success.

It took over ten minutes for the first Azerbaijan attack of note, and to their credit, they got numbers forward and looked to move the ball about at pace.

Namik Alaskarov finally made space to hit a low right-footed shot from the edge of the area but it was standard fare for Gavin Bazunu.

The tempo dropped a touch allowing the visitors to get more comfortable in possession, however, the pace appeared to suit Troy Parrott’s game a bit better as he began to show and get his foot on the ball, dropping deeper than Idah and Connolly.

But Ireland remained a touch cautious, sitting back, but not too deep, with Bazunu sweeping along the edge of his box.

In the 23rd minute, a quick Azerbaijan counter moved down the left wing and again Alaskarov made space for a shot. There were options inside, although his effort was well-hit and made Bazunu get down sharply to his right to parry wide.

Ireland got back on the attack, and in the 28th minute Mollumby shot just wide after good hold up play by Connolly.

And shortly after, a clever first-time Egan ball forward sent Connolly flying up the left. A clipped cross to the near post for the arriving Idah was inch perfect, however, the striker's downward header could not be worked on target.

In the 37th minute, Connolly again got up the left flank thanks to a crunching McClean challenge. With two in the middle, he opted to cut inside and test the keeper.

The shot was more awkward than aggressive and appeared to cause the keeper difficulty as he could only parry, before needing some attention once the ball was cleared.

All was quiet in the contest as the board went up to indicate an extra minute, but it was the scoreboard change that would have the bigger impact as Azerbaijan stunned the home support, many already in the bowels of the stadium, stealing a march on the half-time treats.

A standard Shane Duffy header dropped at the feet of Emin Makhmudov a good 30 yards from goal, yet somehow the adjacent green jerseys stood back, almost beckoning him to shoot.

He duly obliged, picked his spot and found the corner, beating Bazunu at full stretch.

The half-time jaffa cakes may have been held back inside the home dressing room for the rollicking that surely followed that soft, sloppy goal to concede.

It took less than a minute for new arrival Daryl Horgan - on at half-time for Connolly - to make an impact as he raced into the box on the right, moved the ball to make space, before lifting it perfectly onto Mollumby's head.

But again Ireland missed the target, and the County Waterford native should really have scored as he looped the ball over the bar.

Even as early as the 50th minute, it was backs-to-the-wall defending from the visitors who opted to sit on the edge of their box and accept the challenge to go toe-to-toe in the aerial aspect of the game.

Mollumby picked up a yellow card for a hefty challenge on the keeper and, despite the possession, Ireland were lacking that bit of composure in and around the box.

The best they could muster was a hopeful ball across goal that hopped just past the feet of Doherty, before Parrott finally made the keeper work with a snap-shot from the edge in the 58th minute.

In the 61st minute, Adam Idah glanced a header just wide of the post as Horgan made more space, this time working the ball in from the left.

Conor Hourihane and Callum Robinson came on for Mollumby and Parrott as Ireland continued to huff and puff without success; a half-hearted penalty appeal was waved away as Doherty was impeded in the box.

Into the last ten minutes, and James Collins was thrown on, as the direct approach was signalled to save the day.

And it was saved, to a certain extent at least, as Duffy finally found the back of the net with a lunging header deep inside the box that flew into the roof of the net.

Five minutes of added time handed Ireland a chance to grab a winner but it was not forthcoming as they move onto Tuesday's game with Serbia still in search of that first elusive group win with the World Cup dream all-but over.

Republic of Ireland: Gavin Bazunu; Shane Duffy, John Egan, Seamus Coleman; Matt Doherty (James Collins 80), James McClean, Josh Cullen (Alan Browne 88), Jayson Molumby (Conor Hourihane 63); Troy Parrott (Callum Robinson 63), Adam Idah, Aaron Connolly (Daryl Horgan HT).

Azerbaijan: 1 Shakhrudin Magomedaliyev (GK), 2 Gara Garayev, 4 Hojjat Haghverdi, 5 Maksim Medvedev (capt) (13 Abbas Hüseynov 70), 7 Namik Alaskarov (9 Rustam Akmedzade 70), 8 Emin Makhmudov, 10 Mahir Emreli (11 Ramil Sheydaev 79), 14 Elvin Badalov, 17 Tural Bayramov (3 Azer Salahli 70), 18 Anton Krivotsyuk, 20 Filip Ozobic (16 Anatolii Nuriiev 79).

Referee: Jerome Brisard (FRA)