Kallis steadied the Kolkata innings with a solid 30 off 33 balls as the team scored 4-162 against Delhi Daredevils after electing to bat at Subrata Roy Sahara Stadium.
The veteran South African then took the important wickets of Venugopal Rao and Ross Taylor as Delhi was restricted to 144-8.
Hard-hitting batsman Yusuf Pathan (40 not out) and West Indian spinner Sunil Narine (2-24) were the other main contributors to Kolkata's victory.
For Delhi, Sri Lankan Mahela Jayawardene top-scored with 40 but his dismissal in the 15th over tilted the balance in Kolkata's favour.
Jayawardene kept Delhi in the hunt along with Naman Ojha (28) after the cheap dismissals of big-hitting openers David Warner and captain Virender Sehwag but the team could not keep up the tempo in the face of some tight bowling by the Kolkata spinners.
Also, Sehwag's decision of sending in Venugopal Rao and Pawan Negi ahead of the likes of Taylor and Irfan Pathan did not pay off as the asking rate crept up and the big hits did not materialise in time.
"We did not bat well as 160 was chaseable but we lost two early wickets," Sehwag said. "We failed to make it in the last few overs."
Unlike Delhi, Kolkata seemed to be in control of their innings. Their top three - Brendon McCullum (31), captain Gautam Gambhir (32) and Kallis - ensured a good start.
While McCullum and Kallis played steady knocks, Gambhir struck two sixes and three fours off only 16 balls before he was run out to a direct throw from Rao while looking for a risky single but failing to get any response from McCullum.
A 56-run unbroken stand for the fifth wicket between Pathan and Laxmi Rattan Shukla (24) took Kolkata to a challenging total. The allrounders added those runs in just four overs too boost Kolkata from 4-106 in the 16th over.
Pathan struck two sixes and three fours off 21 balls and Shukla hit one six and three fours off 11 as the pair got the better of the trio of Morne Morkel, Umesh Yadav and Varun Aaron, known as the best pace combination in the tournament.
Delhi will get another chance to reach the final when it takes on the winner of the "eliminator" in Bangalore tonight between the third and fourth-placed teams from the nine-team league - Mumbai Indians and Chennai Super Kings.
Chennai will host the second "qualifier" - the equivalent of a semi-final - between Delhi and the winner of the eliminator, as well as Sunday's final. AP