To a large skillet, add the ground beef, and brown it over medium-high heat, crumbling and flipping it as it cooks to ensure even cooking. When it's done, remove it with a slotted spoon and set it aside in a bowl or on a plate. Don't drain the cooking liquids or grease; you'll need it to sauté the onions.
Add the yellow onion to the skillet, and sauté for about four minutes, or until soft and translucent. Stir frequently to ensure even cooking.
Add the garlic and cook for one minute; stir nearly constantly.
Evenly sprinkle the flour over the onions and garlic, stirring well, and cook for one minute.
Slowly add the beef broth, stirring the whole time as you're adding it, turn the heat to high, and continue stirring for one to two minutes, or until the sauce thickens slightly.
Add the tomato sauce, Italian seasoning, garlic powder, salt, black pepper, and pasta shells. Turn the heat to medium-low, cover, and simmer for about ten minutes, or until much of the liquid has been absorbed and pasta is cooked properly to al dente.
If the pasta is still hard after ten minutes and there's liquid left in the skillet, simply re-cover it and allow it to simmer for another few minutes or until it's done.
Add the shredded cheese and heavy cream, turn the heat to medium-high, and stir continuously until the cheese has melted, about one to two minutes.
Add the beef back into the skillet, stir to combine, and cook for one to two minutes, just to rewarm the beef and incorporate it.
Optionally, garnish with additional cheese and/or fresh herbs and serve immediately.