After a goalless first half, in which Zesco dominated the shots-on-goal column, the match sprang to life nine minutes into the second half.
Jackson Mwanza sent a glancing header into the bottom-left corner to fire the hosts in front, before popping up again just one minute later to bag his second of the game.
Sundowns redoubled their efforts in the closing stages of the contest, and eventually pulled one back in the 86th minute, Khama Billiat firing a curling effort in at the near post from the left side of the box.
However, it was a case of too little, too late as Zesco held on to claim a vital win ahead of the return leg on September 24.
Boasting the home advantage, it was Zesco who looked more likely to find an early breakthrough following a bright start.
Jesse Were had a glorious opportunity to fire the hosts in front after just two minutes of play, but fired wide of the mark from 15 yards out.
He was at it again just one minute later, beating the offside trap before delaying his shot, allowing Thabo Nthethe to nip in and snuff out the danger.
Were was proving to be Zesco's danger man, and he again went close to breaking the deadlock in the eighth minute. However, Ugandan keeper Denis Onyango came to Sundowns' rescue, putting his body on the line to deny the sprightly Were.
Sundowns eventually managed to muster a response in the 12th minute, although Khama Billiat scuffed his shot wide at the far post following a well worked corner routine.
They again went close just moments later, but Zesco 'keeper Jacob Banda was alert to the danger, getting down to his right to keep out Tiyani Mabunda's long-range shot.
Downs briefly threatened again in the 20th minute, but Hlompho Kekana's shot from distance flew high and wide.
Zesco continued to cause the Sundowns defence all sorts of problems, though, with Were again denied by the committed Onyango.
The first half petered out, however, after a frantic opening half-hour hour, but the match was turned on its head after the break as Zesco scored two goals in quick succession.
Mwanza broke the deadlock in the 54th minute, sending a glancing header into the far corner, with Onyango left stranded.
Sundowns were still reeling from the opening goal when the hosts struck again just one minute later, Mwanza getting the last touch on a driven free-kick to guide it past Onyango in the Sundowns goal.
The visitors eventually managed to regain their composure and went close to pulling one back in the 65th minute. However, Percy Tau was unable to direct his shot on target from the left side of the six-yard box.
Downs continued to press forward in a bid to reduce the deficit and got the breakthrough they were looking for in the 86th minute, Billiat finding the back of the net with a curling effort from the left side of the box.
However, the visitors were unable to force a late equaliser as Zesco held on in the closing stages of the contest to claim a vital 2-1 win ahead of the second leg of their semi-final tie next weekend.
Banda, Silwimba, Banh, Odhiambo, Oluwafemi, Mwelwa, Mtonga (Mkhowani 78''), Chaila, Ching'andu, Mwanza (71' Mbombo), Were
Onyango, S. Zwane (Mbekile 62'), Nthethe, Arendse, Langerman (Laffor 80'), Kekana, Mabunda, Dolly, T. Zwane (Modise 61'), Tau, Billiat