The South Africans led at the break through Tokelo Rantie, but Kenya equalised from the spot through Dennis Oliech. However, an own-goal from Christopher Wekesa proved the decisive moment of the match.
Bafana should have been two goals to the good before the opening goal, with Siphiwe Tshabalala missing a sitter from six yards out, before Rantie skewed a drive wide when ‘Shabba’ partially cleared cross fell at his feet on the edge of the area.
However, the Swedish-based striker made no mistake on 20 minutes, expertly finishing past goalkeeper Origi after a great pass from Lerato Chabangu.
Nine minute later and Rantie almost had another – his clever take from a throw-in saw him beat one defender, but his shot was straight at the Kenyan number one.
Rantie had another chance on 38 minutes, but his long-range header lacked the pace to trouble the goalkeeper.
Kenya thought they had a penalty just before the break when their striker went down under a challenge from Siyabonga Sangweni, but the referee adjudged it a dive instead and booked the player for simulation.
Bafana were forced into an early change when Sifiso Myeni came on for a ‘dizzy’ Tshabalala at the start of the second half – a half which was very scrappy to start with an lacked the intensity of the first 45.
The first real chance came on the hour-mark when Dino Ndlovu, who had just come on for Tokelo Rantie, hit the post from close-range after a goalmouth scramble from Ricardo Nunes’ corner-kick.
Two minutes later and Dean Furman was at the end of a nice build-up, but his shot from the edge of the area hardly troubled the goalie.
Then, on 72 minutes, Kenya equalised from the penalty spot through Dennis Oliech, who converted after Bongani Khumalo was blown up for hand-ball.
However, the lead lasted but three minutes as Kenyan centre-back Christopher Wekesa headed into his own net from Bernard Parker’s ball across the face of goal.
The hosts pushed hard for an equaliser, with substitute Orito missing a free header with 10 minutes to go, while Bafana had a lucky escape when Wayne Sandilands flapped at the ball, but it went out for a goal-kick instead.
Kenya starting XI: Origi, Asike, Kokoyo, Mandela, Wekesa, Wanyama, Osiako, Opiyo, Kahata, Oliech, Kemboi
Subs used: Wafula, Timbe, Monday, Arita, Situma
SA starting XI: Sandilands, Nthethe, Sangweni, Khumalo, Nunes, Chabangu, Furman, Dikgacoi, Tshabalala, Parker, Rantie
Subs used: Myeni, Ndlovu, Manyisa, Fransman