Position a rack in the center of the oven and heat the oven to 325°F. In an 8-quart Dutch oven, heat 2 Tbs. of the oil over medium heat. Season the ribs with 2 tsp. salt and 1 tsp. pepper. Add half of the ribs to the pot (or as many as will fit without overlap), and cook, turning with tongs, until nicely browned on all sides, 3 to 4 minutes per side. Transfer the ribs to a platter and repeat with the remaining ribs. Pour off all but a thin layer of fat from the pan.
Add the remaining 1 Tbs. oil, carrots and onions to the pan. Season with 1/2 tsp. salt. Cook, stirring and scraping up any browned bits on the bottom of the pan, until the aromatics are soft and lightly browned, 6 to 8 minutes. Add the garlic, oregano, coriander, cumin, and chile powder, and cook, stirring, until well distributed and fragrant, about 1 minute.
Pour the beer into the pot and cook, stirring to scrape up any browned bits on the bottom of the pot, until the liquid is reduced to about 2 Tbs., about 1 minute.
Transfer all the ribs (and any juices that have accumulated) back into the pot. Pour 1-3/4 cups water, the canned tomatoes, red wine, and beef broth over the ribs and using tongs, arrange the ribs as evenly as possible and no more than two layers deep.
Bring the liquid to a simmer, cover, and put the pot in the oven. Cook, turning the ribs with tongs about every 40 minutes, until they are fork tender, about 2-3/4 hours. (The meat may fall off most of the bones about midway through cooking; this does not mean that the ribs are fully tender.)
Season to taste with salt and pepper.
Serve the ribs with the sauce spooned over, sprinkled with chopped cilantro.
It's best to braise short ribs a day (or at least several hours) ahead for a couple of reasons. First, this allows you to chill the sauce so it can be defatted thoroughly. Also, the flavors only get better with time. To reheat, arrange the meat snugly in a baking dish, cover with foil, and put in a 350°F oven. Reheat the sauce on the stovetop.