Santos, an ally of President Alvaro Uribe, led with 47 percent of votes, while Mockus, a former Bogota mayor, had 22 percent with 96 percent of polling stations counted, according to electoral authorities.
Santos failed to reach the more than 50 percent of votes to clinch outright victory but his lead over Mockus and his political party machinery will give him an advantage in the June 20 run-off.
Polls had shown Santos in a tight race with Mockus but the surveys may have under-represented his support in rural areas where his security gains as defense minister are best remembered.
Both front-runners say they will keep Uribe’s tough security and pro-market economic policies applauded by investors. Analysts see little long-term impact on the peso or local TES bonds, regardless of the winner.
Uribe, a staunch Washington ally, steps down in August still popular after two terms dominated by his war against drug-trafficking rebels, and his pro-business approach that attracted foreign investment, especially in oil and mining.
A constitutional court barred him from a third term.
Santos, a U.S.- and British-educated economist, led early in the race, but Mockus, the son of Lithuanian immigrants who is also a former university professor, had surged with a Green Party campaign against graft and “politics as usual.”