Bollire il latte con lo zucchero e la stecca di vaniglia, fino a quando non ha raggiunto un color caffèlatte e diminuito di volume di circa un terzo.
Lasciar raffreddare, togliere la vaniglia e sbriciolare gli amaretti. Preparare il caramello con lo zucchero di canna e un paio di cucchiai di acqua. Una volta pronto, versalo in uno stampo da budino con il buco.
Sbattere le uova e i tuorli senza montarli e unirli al latte con gli amaretti. Versare il composto nello stampo e cuocere a bagnomaria a fuoco basso per circa un'ora, coperto con coperchio.
Fare la prova stecchino, deve rimanere pulito. Lasciar raffreddare nel tegame. Girarlo poi nel piatto da portata e servire.