Preheat the oven to 325ºF and position an oven rack to the middle of the oven.
Heat a large dutch oven or heavy bottomed oven safe pot over high heat and add the oil. When the oil is hot, thoroughly dry the beef and season with salt. Add the beef to the hot oil and sear until well browned on all sides, turning as needed. Remove the beef to a plate and set aside.
Add the butter, onion, carrot, and celery and cook, stirring often until the onions are soft and translucent, about 5 minutes. Add the garlic and cook until fragrant, about 1 minute more. Add the thyme, bay leaves, cocoa, cinnamon, and tomato paste.
Add the wine and cook on high heat until reduced by half. Add the stock, tomatoes with their juices, fish sauce, coconut aminos, gelatin, and salt. Stir well and then add back the beef and any juices that have accumulated on the plate. Bring to a simmer, then braise, covered, in middle of oven until very tender, about 3 hours.
When the cheeks fall apart when tested with a fork, carefully transfer them to a serving plate.
Place the pot back on the stove and reduce the liquid, if desired to form a thicker sauce. I like to puree the resulting sauce. Optionally, I like to add in a handful of peeled frozen pearl onions and a sliced carrot for color and texture, letting them cook until tender. Adjust seasoning to taste and then pour over the beef. Garnish with fresh parsley, if desired.