Bring a large pot of generously salted water to a boil to cook the pasta in.
While the water comes to a boil, defrost the artichokes slightly by placing in a colander and running warm water over them for 30 seconds or until they start to soften. Leave to drain while you make the sauce. (Note: if your artichoke hearts are whole, cut them in half at this stage and return to the colander.)
Add 3 tablespoons of the oil to a large saucepan set over medium heat.
Add the onion and cook, stirring, for 1-2 minutes. Pat the artichokes dry with a kitchen or paper towel.
Add the artichokes, cut side down, and cook for 3 minutes undisturbed.
Stir and continue to cook for 3-4 more minutes until browned. If the onion starts to get too brown, turn the heat to medium-low.
Add the garlic, bay leaf, and stock.
Cook for 3 minutes, stirring, until reduced. Add ½ teaspoon of salt, stir, and turn off the heat. Remove the bay leaf and discard, then cover the pan and reserve.
Cook the spaghetti for 1-2 minutes less than the package directions, reserving a cup of the pasta water. It should be almost al dente, but still have a bite as it’ll continue to cook for a bit in the sauce.
When the pasta is ready, uncover and bring the pan of artichokes to medium-high heat. When you see small bubbles, add the hot spaghetti pasta water and the juice of one of the lemons. Using tongs, add the pasta and stir for 30 seconds to coat. Taste and add salt and more lemon juice if needed, I always add another ½ teaspoon or so of salt but it will depend on how salty your pasta water and stock were.
Turn off the heat and add the grated parmesan, pepper, and parsley. Drizzle with the remaining 1 tablespoon olive oil and toss it together with tongs.
Serve in shallow bowls with a small bowl of lemon wedges at the table.