New Delhi: Paul Stirling shines with 95 and 6/55 but Ireland goes down by 34 runs in high-scoring match.
Asghar Stanikzai hit 101, his first one-day century, to help the Afghans hit their highest ever total of 338 in the Indian venue of Greater Noida.
Ireland opener Paul Stirling was on 95 with them going well on 173-1 when he was given out to a Rashid Khan ball.
Andrew Balbirnie's dismissal to a Dawlat Zadran ball also looked harsh.
Leg-spinner Stirling produced an outstanding individual display as he picked up six Afghanistan wickets.
With Ed Joyce (55) having put on 113 for the first wicket with Stirling and skipper William Porterfield contributing 45, the Irish top order kept the run chase on target.
After Balbirnie's dismissal left Ireland on 228-5 in the 37th over, Stuart Thompson and Gary Wilson put on 50 for the next wicket over the next six overs but they both departed in quick succession to effectively end the contest.
Afghanistan bowler Khan finished with figures of 6-43 with Zadran taking three Irish wickets.
The Afghans beat Ireland in Wednesday's opening one-day game and there are three further contests, beginning with Sunday's game at the same venue.
Ireland had already been whitewashed 3-0 in a Twenty20 series between the sides in India.
The teams will play meet in a further Intercontinental Cup match at the end of the month in Greater Noida.
Afghanistan - 338 (Stanikzai 101, Rahmat 68, Shahzad 63, Stirling 6-55)
Ireland - 304 (Stirling 95, Joyce 55, Rashid 6-43, Dawlat 3-52)
Result - Afghanistan won by 34 runs