Preheat oven to 325ºF (170ºC). Thoroughly dry the ribs with a paper towel then season the short ribs on both sides with salt and pepper. Toss the short ribs in the flour so they are evenly coated.
Heat a large Dutch oven over medium heat, add the oil and heat through. In batches if needed to avoid over-crowding the pot, add the short ribs to the pot and sear until they are browned on all sides, about 6 minutes. Remove to a plate and set aside. Continue with the remaining short ribs and set aside.
Return the pot to medium heat, then add the onion, carrot, celery and garlic, sautéing until the vegetables are tender, about 5 minutes.
Add the tomato paste and stir to combine before adding the red wine, beef stock, rosemary, bay leaf and short ribs (and any remaining juices) to the pot. The ribs should not be completely covered by the liquid. Bring the mixture to a boil over medium heat then cover the pot and place in the oven.
Cook, rotating the short ribs about every 45 minutes, until the meat is fork tender, about 2½ to 3 hours. Remove from oven and let sit for at least 5 minutes then skim off any fat from the top and discard.
For the celery root puree:
Add the celery root, potato and onion to a large saucepan. Add the milk, salt and 3 cups of water over the top and bring to a boil over medium-high heat.
Reduce the heat to medium and simmer until the vegetables are tender and can easily be pierced with a fork, about 20 to 30 minutes. Drain the vegetables, discarding the cooking liquid.
Add the vegetables to a blender with the butter and Parmesan cheese and blend until pureed. Season to taste with salt.
To serve:
Spoon celery root puree into bowls and top with braised short ribs. Ladle the braising liquid over the top. Serve with roasted vegetables on the side (optional).