Traditionellt sett uppstod shchi i Kievan Rus runt 800-talet, strax efter att kålen introducerades från Bysans. Receptet skiljde sig dock åt i många avseenden och populariserades inte förrän i slutet av 1500-talet i det ryska tsardömet. Det ursprungliga ”shchi” betydde en relativt lättlagad grönsaksblandning (potage) som bönderna kokade i en gryta för att ”stoppa upp sig själva” – de mest populära etymologiska bevisen tyder på att ordet härstammar från protoslaviska съти, som betyder ”fylld” (i.
Under 900-talet blev shchi en basföda för östslaverna, och ett populärt talesätt härrörde från detta faktum: ”Щи да каша – пища наша”. (Shchi da kasha – pishcha nasha ”Shchi och kasha är vår mat”). Kött (nötkött, griskött, lamm eller fjäderfä), svamp, mjöl och kryddor blev också ingredienser. Kål och kött tillagades separat och smetana lades till som garnering före servering. Shchi äts traditionellt med rågbröd.
Med tiden, när Gyllene horden delade upp östslaverna i ”östra” och ”västra” regioner och storhertigdömet Moskva har bildats, blev mjöl sällsynt och uteslöts från receptet. Kryddblandningen berikades med svartpeppar och lagerblad. Kött ersattes ibland med fisk, medan morot och persilja kunde läggas till bland grönsakerna. Förhållandet mellan vatten och kål varierade och medan den tidiga shchi ofta var så trögflytande att en sked kunde stå i den, antogs senare en mer utspädd beredning.
I dag finns flera varianter: i Ryssland äts shchi mer populärt med nötkött, medan fläskkött är ett vanligare kött för shchi som tillagas i Ukraina.