Prepare the Beef Belly: Trim any excess fat from the beef belly if desired, but make sure to leave enough fat on the meat to keep it juicy and flavorful. Score the fat in a criss-cross pattern, being careful not to cut into the meat itself. Pat the beef belly dry with paper towels.
Season the Beef Belly: In a small bowl, combine the ground black pepper, salt, smoked paprika, and dried thyme. Rub this seasoning mix all over the beef belly, making sure it gets into the scored fat. Let the meat sit for about 15 minutes to absorb the flavors.
Sear the Beef Belly: Heat olive oil in a large skillet or Dutch oven over medium-high heat. Once the oil is hot, add the beef belly, fat side down. Sear it for about 4-5 minutes until the fat is golden and crispy. Flip the beef belly and sear the other side for an additional 2-3 minutes. Remove the beef belly and set it aside.
Sauté Onions and Garlic: In the same skillet, add the chopped onion and minced garlic. Cook them for about 2-3 minutes, stirring occasionally, until they soften and become fragrant.
Cook the Beef Belly: Add the beef broth (or water) and soy sauce (if using) to the skillet, stirring to combine. Bring the liquid to a simmer. Return the beef belly to the skillet, fat side up. Cover the skillet with a lid, reduce the heat to low, and allow it to cook for about 2-3 hours, or until the beef is tender and easily pulls apart.
Rest the Beef Belly: Once the beef belly is cooked to perfection, remove it from the skillet and let it rest for about 10 minutes. This allows the juices to redistribute throughout the meat, making it even more tender.
Slice and Serve: Slice the beef belly against the grain into portions. Drizzle some of the cooking liquid over the slices and garnish with fresh herbs like rosemary or thyme. Serve with your favorite sides.