Preheat the oven to 375°F. With a fork, poke holes in the cut side of the squash. Brush the cut side with 1 tablespoon of the basil oil. Sprinkle with salt, pepper, cinnamon and chili powder. Place on a baking tray, cut side up, and roast for 45 minutes to an hour, or until the center of the squash is fork tender. Allow to cool to about room temperature.
If fire-roasting your own tomatoes, preheat an outdoor grill over medium heat. Brush the grates with oil and add the tomatoes. Grill, covered, over medium heat, rotating the tomatoes every 8 to 9 minutes or until all sides are charred and roasted. Remove to a bowl and cover with foil for about 5 to 10 minutes. Remove the skins and discard. Set tomatoes aside.
Heat remaining olive oil in a large soup pot over medium heat. Add onions and sauté until translucent. Add garlic and cook until fragrant, about 30 seconds. Place the onion mixture along with the tomatoes, canned or DIY, in a food processor (working in batches if necessary) and puree until smooth (a little chunky is ok). Return mixture to the soup pot over low heat.
Scoop butternut squash out from its shell. Add squash and 1/2 cup of broth in a food processor and process until smooth (add a little more broth if necessary). Add squash puree and remaining broth to the soup pot.
Bring mixture to a boil over high heat; reduce to a simmer. Cover and simmer for 20 minutes, stirring occasionally. Add more broth if desired.
To serve, ladle into bowls, drizzle each individual serving with a teaspoon of basil oil and top with shaved parmesan. Serve with crusty bread for dipping.