Season the pork shoulder all over with salt and black pepper.
Heat olive oil in a large Dutch oven or heavy-bottomed pot over medium-high heat.
Add the pork shoulder and brown it on all sides, about 3-4 minutes per side.
Remove the pork from the pot and set aside.
Add the onion, carrots, celery, and garlic to the pot and cook until softened, about 5-7 minutes.
Stir in the tomato paste and cook for 1-2 minutes.
Pour in the red wine and use a wooden spoon to scrape up any browned bits from the bottom of the pot.
Add the chicken or vegetable broth, thyme, and bay leaves.
Return the pork shoulder to the pot and bring the liquid to a simmer.
Cover the pot, transfer to the oven, and braise for 2-3 hours, or until the pork is very tender.
Remove the pork from the pot and shred or slice it.
Skim any excess fat from the braising liquid, then return the pork to the pot and heat through.