Grind all the spices together in a coffee grinder or using a mortar and pestle.
Rub spice mix all over your piece of meat, making sure to coat it well on all sides. Take great care to really “massage” the spices into the meat.
Wrap the loin in plastic film and let it rest for at least 30 minutes.
Preheat about 1 tablespoon of coconut oil in a large heavy skillet over high heat. When pan is sizzling hot, add the meat and do not touch it until it has formed a nice dark crust, about 5 minutes. Flip the piece of meat over and sear the other side until it too, forms a nice golden crust.
Transfer meat to a large Dutch oven.
Add onions and garlic to the hot pan and cook for a minute or two or until fragrant; Add the 3 cups of water and deglaze the pan well, making sure to scrape all the bits and pieces that have attached to the bottom of the pan. Pour over the reserved meat
Add the carrots and celery, put the lid on and place that in the oven for about 4½ - 5 hours, or until the meat detaches very easily when pulled with a fork.
You might want to check from time to time just to make sure you still have enough cooking liquid. If it appears to have gone down too much, add a little bit more water.
When the meat is cooked, remove from oven and let it rest for a few minutes before serving.