Jack's 30th-minute effort has seen Rangers beat Celtic in the league for the first time in almost seven years and helped Steven Gerrard's side move level on points with their rivals at the top of the division.
Rangers were the better team from start to finish in the Old Firm derby and look well-placed to take part in a fascinating title race in the second half of the 2018-19 campaign.
Celtic had two opportunities in the space of a minute in the early stages, but James Forrest saw his low strike saved by Rangers goalkeeper Allan McGregor before Ryan Christie fired wide from the edge of the box moments later.
The home side had a wonderful chance to take the lead in the 16th minute when Kent found Candeias with an excellent cross, but the number 21 saw his close-range effort saved by Celtic goalkeeper Craig Gordon.
Gordon made another impressive stop to keep out a header from Connor Goldson moments later, and Celtic captain Scott Brown then headed against his own crossbar from the resulting corner as Rangers came close once again.
Goldson also nodded wide from another Rangers corner in the 22nd minute with the home side dominating.
Eventually the breakthrough arrived in the 31st minute when Jack's low strike went through the legs of Celtic captain Brown and ended up in the back of the net. The goal was all about Kent's work in a wide area though, with the returning winger providing a wonderful assist.
Kent almost doubled the home side's lead five minutes before the break, but his curling effort just dropped wide of Gordon's post.
Celtic had more of the ball in the latter stages of the first period, but there is no question that the first 45 minutes belonged to Rangers, who should have been two or three goals to the good at the interval.
Rangers had a wonderful chance to double their lead early in the second period when Kent broke into a dangerous position, but Gordon made a fine save to deny the attacker, before Dedryck Boyata cleared off the line in the scramble that followed.
Gordon made another terrific stop to keep out a low Jack strike in the 55th minute, and the home side's domination led to Rodgers making his final change on the hour as Odsonne Edouard replaced Mikey Johnston.
Alfredo Morelos brought another decent save from Gordon in the 61st minute as Rangers continued to look for their second goal.
Celtic had the ball in the back of the Rangers net in the 67th minute when Callum McGregor converted after smart work from Christie, but the offside flag came to the home side's rescue.
It was not to be for the Hoops, though, as they suffered their fourth league defeat of the campaign. Rodgers's side remain top of the table with a game in hand, but were second best in every area on Saturday afternoon.
RANGERS (4-5-1): McGregor; Tavernier, Goldson, Worrall, Halliday; Candeias (Coulibaly 71'), Jack, McCrorie, Arfield (Flanagan 90'), Kent; Morelos
CELTIC (4-2-3-1): Gordon; Lustig (Ralston 46'), Boyata, Benkovic (Ajer 45'), McGregor; Brown, Ntcham; Forrest, Christie, Sinclair; Johnston (Edouard 60')