The result saw the Zambian club remain winless away in the group after suffering their second loss on the road since losing 1-0 to Hilal Obeid last May.
Zesco had opportunities in the first half but John Chingandu was denied by Libolo goalie Landu Mavanga early in the game and then sent his second inches wide in the 13th minute.
But it was Idris Mbombo who had the lion's share of chances with the highlight of those coming on 66 minutes when Mavanga tellingly saved to deny the DR Congo-born forward.
Libolo then made it an uphill battle for Zesco when Kaya completed his brace in the 77th minute.
It became an impossible mountain to climb in Calulo for Zesco in the 79th minute when defender Dauti Musekwa conceded a penalty after fouling Eddie Afonso.
Fabricio Simoes then stepped up to ensure Libolo were back to winning ways after successive defeats coming into match day four.
The Angolans move to second place on six points, tied with Zesco who drop to 3rd
Meanwhile, Sudanese debutants Hilal Obied moved to the summit of the standings after a 2-1 win over Smouha of Egypt in a late kickoff clash. Hilal Obeid has seven points, three more than bottom-placed Smouha.
Ghana-import Nelson Ladzagla scored at the death to secure victory for the homers. The game was heading for stalemate after Smouha’s Islam Mohareb canceled Abo Bakr Suliman’s second half opener.
20.06.2017 Port Harcourt Rivers United (Nigeria) 2-1 KCCA (Uganda)
20.06.2017 Tunis Club Africain (Tunisia) 2-1 FUS Rabat (Morocco)
20.06.2017 Algiers MC Alger (Algeria) 2-1 Mbabane Swallows (Swaziland)
21.06.2017 Rustenburg Platinum Stars (South Africa) vs CS Sfaxien (Tunisia)
20.06.2017 El Obeid Hilal Obeid (Sudan) 2-1 Smouha (Egypt)
20.06.2017 Luanda Recreativo do Libolo (Angola) 3-0 Zesco (Zambia)
20.06.2017 Conakry Horoya (Guinea) 1-0 Mounana (Gabon)
20.06.2017 Pretoria Supersport (South Africa) 0-0 TP Mazembe (DR Congo)