Tradizionalmente, lo shchi apparve nella Rus’ di Kiev intorno al IX secolo, subito dopo l’introduzione del cavolo da Bisanzio. La ricetta, tuttavia, differiva in molti aspetti e non fu resa popolare fino alla fine del XVI secolo dello zar russo. L’originale “shchi” significava una miscela di verdure relativamente facile da preparare (potage) che i contadini usavano bollire in una pentola per “rimpinzarsi” – le prove etimologiche più popolari suggeriscono che la parola derivi dal protoslavo съти, che significa “ripieno” (cioè “pieno di cibo”).Entro il 10° secolo, lo shchi divenne un alimento base degli slavi orientali, e da questo fatto nacque un detto popolare: “Щи да каша – пища наша.” (Shchi da kasha – pishcha nasha “Shchi e kasha sono il nostro cibo”). Anche la carne (manzo, maiale, agnello o pollame), i funghi, la farina e le spezie diventavano ingredienti. Il cavolo e la carne venivano cotti separatamente e la smetana veniva aggiunta come guarnizione prima di servire. Lo shchi è tradizionalmente mangiato con pane di segale.
Con il tempo, quando l’Orda d’Oro ha diviso gli slavi orientali in regioni “est” e “ovest”, e si è formato il Granducato di Mosca, la farina è diventata rara ed è stata esclusa dalla ricetta. La miscela di spezie veniva arricchita con pepe nero e alloro. La carne veniva talvolta sostituita con il pesce, mentre alle verdure si potevano aggiungere carote e prezzemolo. Il rapporto acqua/cavolo variava e mentre il primo shchi era spesso così viscoso che un cucchiaio poteva starci dentro, più tardi fu adottata una preparazione più diluita.
Oggi esistono diverse varianti: in Russia, lo shchi viene più popolarmente mangiato con il manzo, mentre il maiale è una carne più comune per lo shchi cucinato in Ucraina.