Season the meat with salt and pepper to taste. In a large Dutch oven, heat the oil over medium-high heat until not quite smoking. Add the meat and brown quickly, about 2 minutes per side. Pour off as much fat as you can and set aside the pan with the browned meat.
Roast the tomatoes. When they are cool enough to handle, peel them, saving the juices, and process to a smooth purée in a blender (about 2 minutes on high) together with the chiles, onion, and garlic.
Return the Dutch oven to the stove over medium-high heat. Pour the puréed chile sauce over the meat. Add the epazote and salt. Stir well, reduce the heat to low, and cook, partly covered, for about 1 hour, or until the meat is fork-tender.
When the stew has cooked for about 40 minutes, bring a small saucepan of water to a boil and add the diced nopalitos. Cook, uncovered, over medium heat for 5-10 minutes. Transfer to a sieve and rinse under hot and then cold running water. (This removes some of the sticky juice.) Drain well, stir into the stew, and let the nopalitos cook with the beef, partly covered, for another 10-15 minutes.