In a deep skillet or Dutch oven add the olive oil, garlic, tomatoes, salt, red pepper flakes, Italian seasonings and cook on low for 30 minutes, partially covered. Add the tomato paste, stir through and cook for another 15 minutes on low until thickened. Remove from heat and set aside.
In a deep skillet or Dutch oven over medium heat add olive oil and sauté onions and garlic for several minutes. Crumble in hot Italian sausage (casings removed) and brown sausage.
Sprinkle the flour over meat, mix to incorporate and cook for several minutes. Add milk and stir until combined. Bring to a boil, reduce heat to low and cook for 10 minutes, uncovered. The meat mixture and sauce should be thickened.
Remove from heat, add chopped spinach and mix to combine. Allow to cool. Filling will thicken as it cools.
Cook lasagna pasta in boiling, salted water for 8 minutes. Drain, pat dry and lay flat on parchment paper.
Preheat oven to 350°F and spray a 13x9 baking dish with olive oil or cooking spray.
Add 1 cup of tomato sauce to bottom of prepared baking dish and spread it evenly.
Divide sausage mixture over each strip of lasagna, leaving some space at one end. Sprinkle parmesan cheese on top of meat. Starting at end with more meat, gently roll and fold the pasta into a spiral. Place seam side down in the pan, making three rows of four. Repeat with remaining pasta and filling. There should be four rolls leftover, I place in a smaller pan or a meatloaf pan.
Top with tomato sauce, mozzarella and parmesan cheese. Bake for 30 minutes and serve hot.