Stepanek, at 38 the oldest player to reach an ATP quarter-final since Jimmy Connors in 1995, was no match for a clinical Djokovic, who made light of the breezy conditions with a straightforward 6-3 6-3 victory.
The 37-year-old Karlovic, the oldest top-20 player since Ken Rosewall in 1978, lost 6-2 7-5 to Spain's Fernando Verdasco.
Verdasco will face Djokovic for a place in the final.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
Briton Murray beat Almagro for the fifth time in six matches but was never comfortable against the hard-hitting Spaniard before posting a 7-6(4) 7-5 victory.
Almagro threw everything at the 29-year-old, striking 32 winners to his opponent's 24, but Murray's defensive skills proved decisive in the end as he wore down the world number 44.
Murray will play Tomas Berdych, victor over France's Jo-Wilfried Tsonga 7-5 6-3, in Friday's semi-finals.
(Reporting by Martyn Herman; Editing by Ian Chadband)
