Set oven to 400 degrees.
Bring large pot of water to a boil.
Toss tomatoes with 1 tablespoon garlic and 2 tablespoons oil. Roast in oven for 15 minute--or until tomatoes just burst open.
Put pasta in boiling water that has been heavily salted. Set timer to cook for 1 minute less than package directions.
In a large skillet, heat 2 tablespoons oil over medium heat. Add in garlic, and red pepper flakes. And saute for 1-2 minutes.
In a colander, drain beans and toss in the beans and garlic mixture.
At this point, scoop out 1 cup of pasta cooking liquid.
Place spinach in colander used to drain beans and then proceed to drain the pasta over the spinach (to wilt the spinach).
Toss the pasta and spinach with the beans in the skillet. Add in 1/2 cup reserved cooking water and 1 additional tablespoon olive oil. Toss well and allow to cook for 1-2 more minutes, for pasta to finish cooking. Add the remaining reserved water if needed (pasta dries up before finishes cooking.)
Remove pasta from heat and fold in cooked tomatoes and squeeze of fresh lemon.
Top with remaining olive oil if desired and Parmesan cheese if desired as well.
Put spinach in colander so that you can drain pasta over it once pasta has cooked.