Combine parsley, garlic, canola oil, salt, pepper, and lemon juice in a blender and purée to make the gremolata. In a container with a lid, coat the swordfish with gremolata and let it marinate while you prepare the rest of the recipe.
Preheat the oven to 400°F. Line a baking sheet with parchment paper.
Slice the spaghetti squash in half and scrape out the seeds. Drizzle the inside with olive oil and sprinkle with salt and pepper. Place cut side down on the prepared baking sheet, pierce several times with a knife to create steam vents, and roast until very tender, 30-40 minutes.
Scrape the cooked spaghetti squash into a bowl and toss with the pine nuts, basil, parsley, 2 tablespoons olive oil, salt and pepper to taste.
For the sauce, heat the olive oil in a large skillet on medium. Add the garlic and onion and reduce the heat to low. Toast until golden brown. Add the chile flakes, rosemary and anchovies, stirring vigorously until fragrant, about 1-2 minutes.
Add the capers, olives, crushed tomatoes, salt, sugar and pepper. Bring to a boil and lower the heat to maintain a simmer. Add the basil and cook on low for 30 minutes to one hour for flavor development. Season with salt and pepper.
Heat a large skillet with a drizzle of olive oil over medium heat. When hot, cook the swordfish for 4 minutes, flip and continue to cook until the flesh is firm and opaque, 2-5 more minutes depending on the thickness of your steaks.
Divide the spaghetti squash between plates. Top with a swordfish steak and puttanesca sauce.