Roast tomatoes and garlic and let cool. Remove and discard the skins from the large tomato pieces.
Melt the butter in a Dutch oven or large heavy-duty skillet over medium heat. Add onion, salt and pepper and cook (stirring occasionally) for 3-5 minutes, or until onion is soft and fragrant. Add the crushed tomatoes, chicken broth, basil, oregano, sugar and cooled roasted tomatoes.
Bring mixture to a boil over medium-high heat. Reduce to medium-low and simmer uncovered (stirring often) for 45 minutes. For a chunky soup, serve immediately. For a thinner soup, let cool and add half (or more) of soup to a blender and puree until desired consistency is reached. Add back to the Dutch oven and heat over medium until soup is hot.
Spread 1 tablespoon of butter over the inside of each half roll. Arrange rolls butter-side-up on a baking sheet and place under a broiler for 3 minutes, or until edges are crispy and butter is melted. Keep a close eye to prevent burning!
Ladle the soup into bowls and top each with a broiled roll half, Parmesan and basil.