Heat 3 tablespoons of olive oil in a large Dutch oven or other heavy large pot over medium-high heat. Season pork with ¾ teaspoon salt; brown and sear in hot oil (about 4 minutes per side).
Remove meat to a platter.
Reduce heat to low; add onions and additional ¾ teaspoon salt. Stir frequently, scraping bits from the bottom of the pan with a wooden spoon as the onions cook and caramelize for 25-30 minutes. NOTE: If you don't have the time or patience to cook the onions for this long, that's fine — just sauté them for about 7-10 minutes (until tender). The caramelizing adds extra rich flavor, but it will still be delicious with a shorter time too!
Add garlic, carrot and celery; cook for 2 more minutes.
Clear space in the bottom of the pot; add tomato paste, and cook, stirring, for 2 more minutes.
Add wine and deglaze the pot by scraping up bits from the bottom of the pot with a wooden spoon.
Simmer for 3 minutes. Return meat to the pot; add 2 ½ cups of water, Parmesan cheese, and crushed tomatoes. Reduce heat to very low; cover halfway (leaving the lid ajar to let the steam escape). Simmer and braise for about 3 hours, or until meat is fall-apart tender.
Discard the garlic cloves. Use a slotted spoon to remove the meat to a rimmed baking sheet (or cutting board) and shred with two forks (you can also just shred the meat directly in the pot if that's easier). Return shredded pork to the pot, and stir in remaining 1 ½ teaspoons salt. Serve over pasta.