Cook diced onion in olive oil over medium-high heat for 3 to 4 minutes until softened.
Brown the ground beef, breaking it apart, for 5 to 6 minutes. Drain excess fat if needed.
Stir in garlic, tomato paste, smoked paprika, Italian seasoning, and red pepper flakes. Cook 1 to 2 minutes.
Pour in crushed tomatoes and beef broth. Stir to combine and scrape up any browned bits.
Add dry orzo directly to the sauce. Bring to a boil then reduce to a medium-low simmer.
Cook uncovered for 10 to 12 minutes, stirring every 2 minutes, until orzo is tender and sauce is thick.
Remove from heat and stir in heavy cream. Season with salt and pepper. Serve with parmesan and basil.