Trim any large pieces of fat or the fat cap from the pork roast (if desired). Tie the roast with kitchen twine to hold it together and ensure even cooking.
Season the pork roast with salt and pepper on all sides.
Heat the olive oil in a large, heavy pot over medium heat. When the oil is hot but not smoking, add the pork shoulder.
Sear the pork for approximately 3 minutes per side until browned. The meat will release from the pot when a crust forms. If it sticks, give it another minute before turning. Repeat until all sides are browned.
Remove the pot from the heat. Transfer the pork to a pan or large platter and loosely cover with aluminum foil to keep warm.
Without washing the pot, return it to medium heat. Add the onion and celery, stirring frequently, and cook for 2–3 minutes.
Add the garlic and tomato paste. Stir well and cook for 1 minute, stirring frequently.
Pour in the white wine and stir, scraping any browned bits off the bottom of the pot. Cook for 1–2 minutes until most of the wine has evaporated.
Return the pork roast to the pot, including any juices collected on the platter.
Add enough chicken broth to reach ¼ of the way up the thickest part of the roast.
Arrange the potatoes, carrots, thyme sprigs, rosemary sprig, and bay leaf around the roast.
Raise the heat to medium-high and bring the broth to a simmer. Lower the heat to medium-low, cover, and cook for 3–3½ hours, or until the pork is fork-tender and tears easily when twisted with a fork.
During cooking, keep the liquid at a gentle simmer. Adjust the heat as needed and check every 30 minutes, especially after making heat adjustments.
Remove and discard the rosemary, thyme stems, and bay leaf.
Transfer the roast to a shallow dish or rimmed platter. Cut the cooking twine, remove, and discard. Surround it with the potatoes, carrots, and some cooking liquid. Garnish with fresh herbs, if desired, and serve with your favorite sides.