Boil salted water in a large pot. Add elbow macaroni and cook until al dente. Drain and set aside.
In a large skillet over medium heat, heat the olive oil. Add the chopped onion and cook for about 2 minutes until softened.
Add the minced garlic and cook for another minute. Add the ground beef to the skillet.
Brown the ground beef, breaking it apart with a spoon until there’s no pink left.
Stir in the salt, black pepper, paprika, and dried oregano. Mix well to combine.
Combine the drained diced tomatoes with the tomato paste in the skillet. Mix well and allow it to simmer for approximately 5 minutes.
In a medium saucepan over medium heat, melt the unsalted butter.
Whisk in the all-purpose flour and cook for about 1 minute, stirring constantly.
Gradually whisk in the whole milk until the mixture is smooth.
Continue to cook, stirring frequently, until the sauce thickens, about 5 minutes.
Take the sauce off the heat and mix in the shredded cheddar cheese until it's melted and smooth.
In the skillet with the ground beef mixture, add the cooked macaroni and cheese sauce. Stir until everything is well combined.
Place the skillet back over low heat and cook for another 2–3 minutes, stirring occasionally, until heated through.
Remove from heat and serve warm, garnished with parsley.