The Ugandan forward converts two penalties before half-time and completes his treble three minutes into the second half.
AFRICAN NATIONS CHAMPIONSHIP QUALIFICATION
Patrick Kaddu scored a hat-trick against Somalia as Zambia and eSwatini snatched dramatic victories on Saturday in the African Nations Championship (CHAN) second round second leg qualifiers.
Kaddu, who plays for KCCA FC, scored his hat-trick as Uganda outplayed Somalia 4-1 in Kampala, having taken a two-goal lead into the return match to qualify 7-2 overall.
He converted two penalties before half-time and completed his treble three minutes into the second half while Allan Kyambadde was the other Ugandan scorer.
Somalia, a violence-ravaged country making a rare international football appearance, claimed a late consolation goal via Duad Tubal.
Meanwhile, favourites after forcing a 0-0 first leg draw in Botswana, Zambia had to come from behind twice to win 3-2 in Lusaka and secure a place in the final qualifying round.
Goals from Omaatla Kebatho and Segolame Boy twice gave Botswana the lead during a pulsating first half and Emmanuel Chabula and Kelvin Kampamba scored equalisers.
Substitute Bruce Musakanya put the home team ahead for the first time on 67 minutes and it proved the goal that won the second leg and the tie.
After two comfortable home wins over Botswana in past CHAN qualifying competitions, this was a much closer call than anticipated for former bronze medalists Zambia.
Few pundits gave eSwatini (formerly Swaziland) much chance of surviving a trip to Angola after being held 1-1 at home last weekend.
But the team from the tiny southern Africa kingdom fought back after trailing 1-0 at half-time to draw 1-1 and won 4-3 on penalties.
The reward for eSwatini, who are coached by experienced Serb Kosta Papic, is a final round showdown with Zambia and the winners go to the 2020 tournament in Cameroon.
Senegal were another country to win convincingly at home, scoring three second-half goals for a 3-0 triumph over Liberia in Dakar.
It was the eighth consecutive home victory by the Senegalese in CHAN qualifying and the fifth straight win in which they have scored three goals.
Jean Louis Barthelemy Diouf broke the deadlock on 50 minutes and Ousseynou Niang and Abdoulaye Ba got the goals that secured Senegal a 3-1 aggregate victory.
Sidi Touda bagged a brace for Mauritania as they defeated debutants Cape Verde 2-1 in Nouakchott to advance on aggregate by the same score after a goalless first leg.
The match was more one-sided than the scoreline suggests with Cape Verde pulling a goal back only in the final minute of regular time.
West A zone
In Dakar: Senegal 3 (Diouf 50, Niang 73, Ba 83) Liberia 0
(Senegal win 3-1 on aggregate)
In Nouakchott: Mauritania 2 (Touda 3, 68) Cape Verde 1
(Mauritania win 2-1 on aggregate)
In Kampala: Uganda 4 (Kaddu 3-pen, 43-pen, 48, Kyambadde 36) Somalia 1 (Tubal 88)
(Uganda win 7-2 on aggregate)
In Lusaka: Zambia 3 (Chabula 15, Kampamba 45+3, Musakanya 67) Botswana 2 (Kebatho 13, Boy 23)
(Zambia win 3-2 on aggregate)
In Luanda: Angola 1 eSwatini (formerly Swaziland) 1
(Aggregate: 2-2, eSwatini win 4-3 on penalties)