In a large skillet, cook the ground beef, onion, and garlic over medium-high heat until the beef is browned and the onion is tender. Drain off any excess fat.
Add the diced tomatoes (with their juice), tomato sauce, mushrooms, oregano, basil, salt, and pepper to the skillet. Stir well and bring to a boil.
Reduce the heat to low and let the mixture simmer for 10-15 minutes, stirring occasionally.
Meanwhile, cook the elbow macaroni according to package instructions until al dente. Drain well.
Add the cooked elbow macaroni to the skillet with the beef mixture and stir to combine.
Transfer the beef and macaroni mixture to a 9×13 inch baking dish. Sprinkle the shredded cheddar cheese on top.
Bake in the preheated oven for 20-25 minutes, or until the cheese is melted and bubbly.
Remove the casserole from the oven and let it cool for a few minutes before serving.