Set 1 rack in center and 1 rack at lowest position in oven and preheat to 375°F. Line 2 large baking sheets with foil. Place sweet potatoes on 1 sheet; drizzle with 6 tablespoons oil. Sprinkle with garlic, 1 1/2 teaspoons salt, and 1 teaspoon pepper. Toss to coat, then spread in single layer. Place onions on second baking sheet; drizzle with remaining 2 tablespoons oil and sprinkle with remaining 1 teaspoon salt and 1/2 teaspoon pepper. Toss to coat, then spread in single layer.
Place sheet with potatoes on center rack and sheet with onions on lower rack in oven. Roast until potatoes are tender and onions are tender and brown around edges, stirring every 10 minutes, about 30 minutes total for potatoes and 35 minutes total for onions. (Can be prepared 4 hours ahead. Let stand at room temperature loosely covered with foil. Rewarm uncovered in 375°F oven about 10 minutes.)
Combine sweet potatoes and onions in shallow bowl. Sprinkle with Parmesan cheese and rosemary and toss to coat. Season with salt and pepper; serve.