Boil the pasta in a separate pot, according to the package instructions. Stop cooking a minute or so before the package says, so that it doesn’t become mushy when you cook it again in olive oil.
When the pasta is done cooking, drain it and reserve about 1 cup of the pasta water.
In a large high sided skillet, combine olive oil, garlic, shallots, and tomatoes over medium heat. If the garlic starts to turn brown, adjust the heat to medium low to prevent it from burning.
Cook the garlic, shallots, and tomatoes in the oil for a minute until the shallots start to soften and the tomatoes break down.
Add in the artichoke hearts, garbanzo beans, and spinach. Give it a stir to coat in the olive oil. As the artichokes start to break down and the spinach wilts, add in the dried herbs.
Spoon the pasta into the olive oil and toss it to coat. In small increments, add in the reserved pasta water until you get the sauce consistency and creaminess that you like best.
Remove the pasta from the heat, squeeze fresh lemon juice over the top, and stir to combine.
Transfer pasta to a serving bowl and top with freshly crumbled feta cheese.