With nearly 100% of the votes counted, the main separatist alliance and a smaller party won 72 seats in the 135-seat regional parliament.
They said earlier a majority would allow them to declare independence from Spain unilaterally within 18 months.
However, pro-independence parties fell just short of getting 50% of the vote.
The central government in Madrid has pledged to block any unilateral independence moves in court.
With 99,67% of the votes counted, the "Junts per Si" ("Together for Yes") won 62 seats, while the far-left separatist CUP party is expected to secure 10 mandates.
"We have won," Catalan regional President Artus Mas told his cheering supporters late on Sunday.
Final results will be announced on October 4.
Catalonia, the powerful region of 7.5 million people, covers an area of 32,114 square km.