Prep potatoes: Peel potatoes completely. Slice lengthwise into ¼-inch (6mm) thick planks using sharp knife or mandoline for uniform thickness.
Cut hearts: Using metal heart-shaped cookie cutter, press firmly through each potato slice to cut out heart shapes. Place cut hearts immediately into bowl of cold water to prevent browning. Save scraps for another use.
Prepare boiling water: Fill large pot with 1-2 quarts water. Add 1½ tablespoons salt and bring to rolling boil over high heat.
Parboil hearts: Drain hearts from soaking water and add to boiling salted water. Return to boil, then reduce heat to gentle simmer. Cook for 5-7 minutes until knife meets slight resistance when inserted. Hearts should not be fully cooked.
Steam-dry: Drain parboiled hearts in large colander. Let sit undisturbed for 5-6 minutes to allow steam to dissipate and surfaces to dry. This step is critical for crispness.
Preheat oven: While potatoes steam-dry, preheat oven to 400°F (200°C). Position rack in upper third of oven. Line large baking sheet with parchment paper.
Season potatoes: Transfer steam-dried hearts to large mixing bowl. Add olive oil, kosher salt, black pepper, caraway seeds, paprika, and rosemary if using. Toss gently but thoroughly to coat all surfaces and slightly rough up edges. Let sit 5 minutes.
Arrange for roasting: Spread seasoned hearts in single layer on prepared baking sheet with space between each piece. Don't overcrowd—use two sheets if necessary.
First roast: Roast for 15 minutes without opening oven door.
Flip hearts: Remove from oven and flip each heart with spatula to expose second side.
Continue roasting: Return to oven and roast 10-15 more minutes until deep golden brown and crispy. If adding garlic, toss with minced garlic during last 5 minutes of cooking.
Serve: Remove from oven and serve immediately while hot and crispy. Garnish with additional fresh herbs if desired.