A langyos tejben elkeverjük a cukrot, majd belemorzsoljuk az élesztőt. Amikor az élesztő felfutott (habos állagúvá válik), hozzáadjuk a lisztet, a sót, a tejport (ha használunk), az egész tojást, a tojássárgáját és az olvasztott vajat. Az egészet alaposan összegyúrjuk, amíg lágy, ruganyos tésztát kapunk. Ha a tészta túl puha vagy ragadós, adhatunk hozzá egy kevés lisztet, vagy ha száraz, egy kevés tejet.
A kész tésztát kettévágjuk. Az egyik felet külön tálba tesszük, és hozzáadjuk a kakaós rész hozzávalóit: a kakaóport, a porcukrot és az olvasztott vajat. Az összetevőket alaposan beledolgozzuk, hogy egységes, kakaós tésztát kapjunk.
Mindkét tésztát külön-külön tálban, letakarva, meleg helyen kelesztjük 40-50 percig, amíg a duplájára nem nőnek. A tésztákat ezután egyforma méretű téglalapokra nyújtjuk, majd a fehér tésztára ráfektetjük a kakaósat. A rétegeket együtt feltekerjük, mint egy piskótatekercset.
A feltekert tésztát kivajazott tepsibe vagy kuglófformába helyezzük. Ha kör alakú kalácsot szeretnénk, a hengert körbe fektetjük, és a végeket egymásba hajtjuk. A kalács tetejét megkenjük cukros tejjel.
A formában további 30-40 percig kelesztjük, majd 180 fokra előmelegített sütőben 20-30 perc alatt készre sütjük. Ha a teteje túlzottan pirul, sütés közben letakarhatjuk alufóliával. Sütés után hagyjuk a formában pár percig hűlni, majd rácsra téve teljesen kihűtjük.