In a large pot, bring water to a boil and cook pasta for 12 minutes, until al dente, and drain. Be sure to reserve 1 cup of the pasta water before draining the pasta.
In a large pan over medium heat, warm the oil. Add in the garlic and onion, cooking about 5-7 minutes, until the onions are translucent. Stir in the tomato paste, diced tomatoes, and basil, then bring to a boil, lower the heat and simmer for 10 minutes. Add in the artichokes and cook about 3 minutes, until heated through, then pour over the spaghetti, add water to loosen the sauce as desired. Add the parmesan and toss.
Serve with more parmesan and fresh parsley.