Preheat oven to 180°C. Grease a medium ovenproof baking dish (approx. 28x20cm) with butter.
Soak the bread in the milk for 5 minutes until saturated.
Squeeze out most of the liquid — reserve the milk. Set bread aside.
Heat oil in a large frying pan over medium heat. Fry the onion for 8 minutes until soft and golden. Add garlic and ginger, cook for 1 more minute.
Add the mince. Break up well and cook until browned all over, about 6–8 minutes. Drain excess fat if needed.
Add all the spices: curry powder, turmeric, cumin, coriander, cinnamon. Stir through the mince and cook for 2 minutes until fragrant.
Add the apricot jam, chutney, vinegar, and raisins if using. Season generously with salt and pepper. Stir well.
Squeeze the soaked bread and crumble it into the mince.
Mix to combine thoroughly — this is what gives bobotie its distinctive texture. Cook for 2 more minutes.
Taste the mixture. It should be balanced: warmly spiced, slightly sweet, a little tangy. Adjust jam, vinegar, or seasoning as needed. This step matters.
Spoon into the prepared baking dish. Press down and smooth the top.
Whisk the eggs with the reserved milk (top up with fresh milk if needed to reach 125ml). Season lightly with salt and white pepper. Pour evenly over the mince mixture. Lay the bay leaves on top.
Bake at 180°C for 35–40 minutes until the custard is fully set and golden on top. It should not wobble in the centre.
Rest for 5 minutes before serving.