Heat olive oil in a large skillet over medium-high heat until shimmering.
Add diced onion and garlic and saute until fragrant and onions are softened, about 6 minutes.
Add ground beef to the skillet. Break up the meat with a spatula as it cooks and stir frequently until the meat is browned, about 8 minutes.
Turn the heat to medium-low and add crushed tomatoes, parsley, and basil. Season with salt and pepper to taste, then stir well to combine.
Cook the sauce for about 20 minutes, stirring occasionally, to let it thicken.*
While the sauce is cooking, boil a large pot of water over high heat. Cook fettuccine according to package directions.
When the pasta is done cooking, strain and return to the pot. Add butter and stir until melted and combined well, then stir in the meat sauce. Serve hot.