Heat the olive oil in a large pot or Dutch oven over high heat. Season the beef on all sides with salt and pepper, then sear until browned all over. Remove the beef and set it aside.
Reduce the heat to medium and add the onions to the pot. Cook until softened, about 5 minutes.
Add the garlic and red pepper flakes, cooking for an additional 2 minutes.
Stir in the tomato paste and cook for 1-2 minutes.
Add the tomatoes, bay leaves, and parsley, then season with salt and pepper. Pour in one can of water from the empty tomato can and stir well. If using whole tomatoes, crush them with a spoon or blend with an immersion blender for a smoother sauce.
Bring the sauce to a boil, then add the beef, sausage, and meatballs. Lower the heat and let the mixture simmer gently, stirring every 20 minutes to prevent sticking, for about 3 hours or until the beef is tender and shredding. Turn off the heat and let the meats sit in the sauce until ready to serve.
Taste and adjust the seasoning with more salt if necessary. Use a slotted spoon to transfer the meats to a large platter.
Toss cooked pasta with a small amount of sauce. Serve the remaining sauce in gravy boats or a serving dish, alongside the platter of meats and pasta. Offer bowls of grated Pecorino Romano cheese and ricotta cheese for the table. 🍽️