Wicketkeeper Taylor led the Africans to 333-5 from their 50 overs with his ninth ODI hundred, before Graeme Cremer took 4-41 with his leg-spin as Afghanistan slumped to 89-7 on their way to 179 all out.
Both teams are warming up for the 2019 World Cup qualifying tournament in Zimbabwe next month.
Wicketkeeper Taylor put on 135 for the fourth wicket with Sikandar Raza before being bowled by Afghan star Rashid Khan.
The 19-year-old leg-spinner returned figures of 2-36 from his 10 overs, but the Afghanistan seamers took the brunt of Taylor and Raza’s hitting, with Dawlat Zadran and Gulbadin Naib conceding 181 runs from 17 overs between them.
All-rounder Raza’s 92 came from 74 balls with 13 boundaries including four sixes.
The Afghanistan chase never got going, with the dangerous Mohammad Shahzad dismissed for just 15 as they slipped to 39-5.
The in-form Mohammad Nabi added 53 with first-match centurion Rahmat Shah, but Zimbabwe captain Cremer took two wickets in two balls in his first over.
Dawlat Zadran put on 64 for the final wicket with 16-year-old Mujeeb Ur Rahman, hitting six towering maximums, but Zimbabwe wrapped up victory by the same margin as Afghanistan had won the opening game on Friday.
The two sides play three more ODIs in the UAE before meeting again in Group B of World Cup qualifying on March 6.
Scores in brief:
Zimbabwe 333-5 in 50 overs (Brendan Taylor 125, Sikandar Raza 92) v Afghanistan 179 all out in 30.1 overs (Graeme Cremer 4-41, Tendai Chatara 3-24)
Zimbabwe won by 154 runs
Series level at 1-1
Download our app and read this and other great stories on the move. Available for Android and iOS.