Smash the garlic in a mortar and pestle and add in the thyme, honey, parsley and a tablespoon of water. Continue to smash some more until you achieve a nice paste.
Pat the pork cheeks completely dry with paper towels and then cover the pork cheeks with the paste and season with kosher salt and pepper. Let them marinate for at least an hour before cooking.
After allowing them to absorb the flavors for about an hour, quickly dredge the pork cheeks in flour (they shouldn't be coated in flour, just a hint should remain).
Heat the olive oil in a heavy pan on a medium high heat.
Sear the pork cheeks (about 30 seconds per each of its 3-4 sides) until all sides are browned.
After each cheek is seared, remove from the pan and reserve.
Dice the onion and red pepper to a small dice.
Peel the shallots and cut each one in half.
Cut the carrots into thin round slices.
Transfer the oil used to sear the meat into a large, heavy pot. Add a little more oil if necessary to completely cover the bottom about 1 cm.
On a low heat, sauté the onions, peppers, shallots and carrots for 15 minutes.
When the vegetables are golden, add the pork cheek and the 2 cups of port wine (any port will do, although there are various varieties of port wine and each will leave you with a slightly different dish)
Add the bay leaf and, over a medium heat, allow everything to reduce 50%, about 15 minutes. Make sure to stir while it is reducing or it will stick.
Peel the potatoes (if using large potatoes cut them into bite size chunks).
Peel the apple and dice it to a medium dice.
Add the beef stock to the pot and cook over a low heat for about 1.5 hours, until the carrilladas are completely tender. Twenty minutes before taking it off the heat add the potatoes and apple to the pot.
When everything is fork tender, take off the heat and serve.