Preheat the oven to 350F. Place the onions, carrots, celery and garlic in the bowl of a food processor and pulse until finely chopped, scraping down the side of the bowl. (Alternatively, chop everything finely.) Set a large Dutch oven over medium-high heat, add the oil and cook the vegetable mixture for 3-4 minutes, until softened. Stir in the oregano, red pepper and salt and cook for another minute.
Crumble the beef into the pot and cook, stirring occasionally, for 5 minutes or until the meat is browned. Stir in the stock, wine, tomatoes, Worcestershire, tomato paste, basil and pasta. Bring to a boil, lower the heat to medium and cook, stirring frequently, for 11-13 minutes or until the pasta is nearly cooked but firm to the bite.
Sprinkle with mozzarella and Parmesan and bake for 10 minutes, or until the cheese is melted and the pasta is heated through. Serves 6-8.