Bring a large pot of salted water to a boil and cook pasta following package directions until al dente, about 12 minutes. BEFORE DRAINING, reserve 2 cups of the starchy pasta cooking water, a ladle, measuring cup or coffee mug scooped into a glass measuring cup works great!
Meanwhile, in a very large skillet or Dutch oven over medium to medium high heat, begin to brown the beef. Break it up with a wooden spoon, about 3 minutes.
When the beef has release some fat, move it to the side of the skillet and add the onions to the open space. Season both with salt and pepper.
Cook the beef and onions, keeping them separate, until the beef is fully browned and caramelized, about 10 more minutes.
Push the meat and onions aside to create an open space in the middle of the skillet to add the garlic, red pepper flakes, oregano and thyme. Cook a minute until fragrant. Note: I don't usually drain the beef fat, but this is the time to do it if you want to!
Add the crushed tomato, heavy cream, spinach and fresh herbs and stir well to combine. Bring to a simmer, reducing the heat down as needed to keep it gently bubbling, about 15 minutes or until the pasta is ready.
Add the drained pasta to the sauce (don't forget to save that cooking water!). Add the reserved pasta water about a half cup at a time as you toss the pasta, to thin and stretch the sauce as needed. I added 2 cups total.
Serve with freshly grated Parmesan cheese, more fresh herbs, and red pepper flakes.