Emergency crews were called Tuesday at around 3 p.m. on Highway 138, just east of Quebec City.
About 30 vehicles were involved, including dozens of cars, trucks and a school bus. They were stuck in Château-Richer in both directions.
Police said there were only minor injuries, and no children on the school bus were hurt.
Another major accident involving about 25 vehicles near St-Jean-Port-Joli also stopped traffic on Highway 20 in both directions.
A video posted online by Quebec singer Jason Guerrette shows up to six tractor-trailers and another dozen cars piled up — some in a ditch.
A third incident involving about 10 vehicles occured on Autoroute 112 in Saint-Frédéric.
Police said black ice, high winds and low visibility were responsible for the pile-ups.