Dewald Brevis was unable to reproduce his heroics of Monday, scoring just nine off 10 balls, but Sibonelo Makhanya (45 off 34), Theunis de Bruyn (28-ball 36) and Jiveshan Pillay (33 off 24) all stepped up for the Titans, who posted 158-6.
Gerald Coetzee took 2-28 for the Knights, including the wickets of Donavon Ferreira (eight) and Neil Brand (15).
Brand (3-24) and fellow spinner Simon Harmer (2-22) then strangled the Free State batsmen after Brevis had picked up the wicket of opener Jacques Snyman for 33 off 28 balls.
The Knights ended on 120-8.
The Titans will meet the KZN Dolphins or Boland Rocks in Saturday’s final.