Bring a large pot of salted water to a boil and cook the fettuccine according to package instructions; drain and keep warm.
While the pasta cooks, heat 1 tablespoon olive oil in a large skillet over medium heat. Add all the spinach and the minced garlic and cook, stirring, until the spinach is wilted; transfer to a bowl and keep warm.
Add the remaining 1 tablespoon olive oil to the same skillet and heat over medium-high. Add the drained artichoke hearts and cook, shaking or stirring occasionally, until they are lightly browned and heated through; remove and keep with the spinach.
Return the skillet to medium heat and add the butter and softened cream cheese. Whisk continuously until the mixture is smooth and the cheeses have melted.
Slowly whisk in the heavy cream, then stir in the grated Parmesan, salt, black pepper, and red pepper flakes until the sauce is smooth and well combined.
Fold the wilted spinach and browned artichokes into the sauce and heat gently until everything is warmed through.
Toss the hot fettuccine with the sauce until evenly coated. Serve topped with diced tomato and additional Parmesan if desired.