Mohammad Shahzad's sixth one-day international century and captain Gulbadin Naib's 6-43 ensured Afghanistan got back on track ahead of the Cricket World Cup with a 126-run thrashing of Ireland.

Afghanistan's preparations for the 50-over showpiece were hit by a disappointing 72-run loss to the Irish in Belfast on Sunday, but, two just days later, Naib's men bounced back at the same venue with a commanding display.

Ireland inserted Afghanistan and Shahzad made 101, putting on 150 for the second wicket with Rahmat Shah (62), as the tourists posted 305-7 - the highest total ever recorded at the ground.

Chasing that down proved beyond the Irish, for whom Paul Stirling (50) recorded a fourth straight half-century. as Naib tore through the middle order and returned the third-best figures for an Afghanistan bowler in an ODI, with the hosts dismissed for 179 in the 42nd over.

Shahzad had been among those to struggle two days earlier, taking 14 balls to make two before being pinned lbw, but he came down the track to launch the first delivery for one of 16 fours in a signal of intent.

Rahmat and Shahzad both fell to Andy McBrine in the same over but Najibullah Zadran's unbeaten 60 from 33 balls, which included seven boundaries and three maximums, pushed Afghanistan over 300.

Ireland were well behind the required rate when Stirling holed out to deep square leg to give Naib his second wicket, and Gary Wilson (34) was the only other batsman to record more than 20 as Afghanistan sealed a comprehensive victory.

Afghanistan now face Pakistan and England in World Cup warm-up matches before their tournament begins on June 1 against Australia.