Spanish striker Juan Belencoso opened the scoring for the visitors in the 33rd minute, before Lam Ka Wai doubled their advantage just before the half-time interval.
Both sides showed plenty of attacking verve during the opening exchanges but Kitchee were the first to have the ball in the net, when Christian Kwesi slotted one past Persib custodian I Made Wirawan, but his effort was flagged for offside.
Twelve minutes later, Kitchee took the lead when Cheung Kin Fung’s accurate cross from the touchline found Belencoso unmarked and the striker made no mistake with a powerful header.
Persib were unlucky not level matters almost immediately when Supardi Nasir struck the post with a long-range strike, but soon found themselves 2-0 down.
In the last minute before the interval, Xu Deshuai’s free-kick ricocheted off the Persib wall and Lam’s curling effort on the rebound found the back of the net.
In the second half, Persib showed plenty of attacking intent but lacked the quality to really trouble Kitchee, as Hariono and Tantan both squandered half-chances, but ultimately Kitchee goalkeeper Wang Zhenpeng remained untested.