Preheat oven to 350 degrees F.
Place softened butter, powdered sugar, and vanilla in a bowl and beat together until light and fluffy, at least one minute.
Add the salt and one cup of flour and mix until combined. Add the other cup of flour (and food coloring if desired) and mix until dough just comes together – it will be a bit crumbly at first but it will come together. Once it starts holding together, stop mixing and use your hands to gently squeeze the dough until it comes into a ball.
Scoop out dough and roll into 1 inch balls. That's just over a tablespoon of dough per ball – I use my standard size cookie dough scoop and underfill it slightly. Place balls on lined cookie sheet and flatten slightly.
Bake for 13-15 minutes until edge of cookie feels set. Remove cookies from the tray and place on paper towels on the counter. Immediately place a chocolate heart in the center of each cookie, pressing down until cookie cracks around the edges.
Cool completely before serving (about 2 hours).