In a large mixing bowl, crack the eggs and pour half the sugar.
Beat well until the air is well incorporated and the mixture becomes airy and fluffy. Set aside.
In a pan, pour milk, heavy cream, remaining sugar, salt, and vanilla essence. Cook over a medium-high flame until the mixture boils.
As it starts bubbling, add semolina and mix with a spatula for 3 to 4 minutes or until the mixture gets thick.
When the semolina mixture makes strings, it means it's ready. Turn off the flame.
Add butter and mix until it melts properly. Transfer the mixture to a mixing bowl.
Beat the mixture well until it cools down a bit but is still lukewarm.
When it is ready, fold the egg mixture carefully so as not to break the air bubbles.
The custard filling is ready.