In a medium saucepan, combine the milk, heavy cream, sugar, and cocoa powder. Heat over low heat, stirring until the sugar is completely dissolved.
Add the finely chopped dark chocolate and milk chocolate. Stir until completely melted and smooth.
In a separate bowl, whisk the egg yolks. Gradually add a small amount of the hot chocolate mixture to temper the eggs.
Pour the tempered egg mixture back into the saucepan. Cook over low heat, stirring constantly, until the mixture thickens slightly (about 5 minutes).
Remove from heat, stir in the vanilla extract and a pinch of salt, and let cool completely.
Pour the mixture into an ice cream maker and process according to the manufacturer's instructions until creamy.
If you don't have an ice cream maker, pour the mixture into a shallow dish and place in the freezer. Stir every 30 minutes to prevent ice crystals from forming.
Melt the dark chocolate over a double boiler. Stir in the coconut oil until smooth and fluid.
Thinly coat the inside of each waffle cone with the melted chocolate. Place in the refrigerator for a few minutes to harden.
Fill the cones with the chocolate ice cream and smooth the tops.
Dip the tops into the melted white chocolate and sprinkle with chocolate shavings.
Place the filled cones back in the freezer for another 30 minutes to allow the coating to harden.
Before serving, let stand at room temperature for a few minutes to allow the flavors to develop.
To provide the best experiences, we and our partners use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us and our partners to process personal data such as browsing behavior or unique IDs on this site and show (non-) personalized ads. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Click below to consent to the above or make granular choices. Your choices will be applied to this site only. You can change your settings at any time, including withdrawing your consent, by using the toggles on the Cookie Policy, or by clicking on the manage consent button at the bottom of the screen.