Protestors, led by opposition members of parliament defending the role of Ukrainian as the only state language, had massed in front of a building where President Viktor Yanukovich was due to hold a press briefing.
The chamber approved the language bill on Tuesday, minutes after a surprise proposal by a pro-Yanukovich deputy, giving opponents little time to cast their vote and prompting scuffles both in parliament and on the streets.
"There are millions of us and they cannot pretend that nothing has happened," said Vitali Klitschko, the world heavyweight boxing champion who has founded his own opposition party - Udar (Blow), and took part in the protest.
Protestors urged Yanukovich, who had planned a celebratory statement to crown the successful co-hosting of the Euro 2012 soccer tournament, to veto the bill, pushed through by his own majority Party of Regions.
Yanukovich cancelled the briefing and called an urgent meeting with leaders of major factions and Parliament Speaker Volodymyr Lytvyn, who had asked for amendments to the bill and tendered his resignation because of the way it was forced into law.
The president later said Ukraine may have to hold an early parliamentary election if the crisis in the chamber persisted.
Parliament's website said that Mykola Tomenko, a deputy speaker, had also stepped down. Tomenko belongs to jailed opposition leader Yulia Tymoshenko's BYuT parliamentary faction.
The bill would recognise Russian as a "regional" language in predominantly Russian-speaking ares, enabling its use in the public service.
Opponents say it was pushed through by Yanukovich's party in order to win back disenchanted voters in its Russian-speaking power base ahead of a parliamentary election in October.
Opposition parties and millions who speak Ukrainian as their first language see the bill as a potential threat to Ukrainian sovereignty and its 20 years of independence since the break-up of the Soviet Union.
More demonstrations were planned across the country, opposition party Batkivshchyna said, and many protestors stayed out on the streets of central Kiev overnight.