Heat the milk. Pour the milk into a heavy pot and warm it over medium heat until it reaches about 180°F/82°C, just below a boil.
Stir now and then to prevent scorching. This step helps your yogurt thicken later.
Cool it down. Take the pot off the heat and let the milk cool to about 110–115°F/43–46°C. If you don’t have a thermometer, it should feel warm but comfortable to the touch—like a hot bath.
Add the acid. Stir in the lemon juice or vinegar.
You won’t see curds form like cheese; you’re just creating the right pH for fermentation.
Keep it warm. Cover the pot with a lid. Place it somewhere consistently warm for 8–12 hours. Good spots: an oven with the light on, an insulated cooler with a warm towel, or a yogurt setting on an Instant Pot (no pressure).
Check for set. After 8 hours, gently tilt the pot.
If it looks thickened and jiggles as one mass with a little whey on top, it’s ready. If it’s still very liquid, give it a few more hours.
Stir and chill. Once set, stir gently for a smooth texture. Refrigerate for at least 2 hours to cool and firm up.
Strain for Greek-style. Line a fine-mesh sieve with a clean cotton towel, cheesecloth, or coffee filters.
Set over a bowl and pour in the yogurt. Refrigerate and strain for 1–3 hours, depending on how thick you like it. The longer it strains, the thicker it gets.
Finish and flavor. Stir in a pinch of salt if you like.
Keep plain for versatility, or add honey, fruit, or vanilla right before serving.