Place a large pot (I use my new copper one!) over medium heat. Pour milk, vanilla, sugar and baking soda, give it a good stir and let it come to a simmer. Keep it at a steady medium simmer for about one hour and a half, stirring occasionally, every 15 to 20 minutes or so, with a wooden spatula or spoon. The mix will gradually thicken and darken.
After about an hour and a half, the liquid will have thickened and reduced and the simmer will become stronger. Reduce the heat to medium low, to keep it at that constant medium simmer. You want active bubbling, but not over the top angry bubbles. Stir a bit more frequently, as you don’t want the bottom to develop a thicker layer.
You know the cajeta is ready when: It achieves a caramel brown color; it is thick as liquid caramel or syrup, much like a chocolate syrup consistency; it envelops the back of the spoon; when you gently stir across the pot with your wooden spoon, a slightly delayed trail behind the spoon appears, revealing the bottom of the pot if only for a few seconds; as you slowly lift up the wooden spoon or spatula, cajeta takes it’s time to drop and lastly, the sides of the pot show how the cajeta has cooked down and if you run your spoon across that side, you get a fudgy (and delicious) residue.
Turn off the heat and let cool (it will thicken considerably as it cools).
Place in a glass jar, cover tightly with a lid. It will keep in refrigerator for up to 6 months.