Whisk together the flour and baking powder. Set aside.
Combine the butter, yolks, sugar, and salt. Mix on medium speed for about 6 to 8 minutes or until light and fluffy using the paddle attachment.
Add the sour cream. Combine well on low speed.
Add the dry ingredients. Combine only to incorporate, but do not overmix. The dough will be quite sticky at this point and you won't be able to roll it out.
Cover and refrigerate dough for at least 1 hour or until it's cold and firm.
On a floured surface, roll to about ½-in thick. The dough can be a little sticky (especially it's humid out) so be sure to keep the rolling pin, counter, and surface of dough lightly floured. If the dough is very sticky, refrigerate a little bit longer. Cut the dough using the 3-inch donut cutter. If you don't have a donut cutter, then use a round 3" cutter, and then a 1" round cutter to cut out the center (or the large end of a piping tip). Dip the cutters in flour before cutting if the dough is sticky. Combine the scraps. Roll out again (be careful to not add too much flour to do so or overwork the dough) and cut out more doughnuts. Place donuts onto a lightly greased parchment-lined baking sheet.
Heat oil to 350°F (175°C) in a large pot or deep skillet (about 1/2 full). The oil should be at least 2 inches deep. Line a wire rack with paper towels.
Place the doughnuts carefully in the oil. Fry 2-3 donuts at a time. I use a fork to lower the donut into the oil, pointing the donut away from you so the oil doesn’t splash back at you. Fry for about 1 1/2 to 2 minutes, then flip over to fry the other side for about 1 1/2 - 2 minutes minute more until golden brown on both sides. If the oil is getting too hot, add a little room temperature oil to the pot to cool it down a bit.
Remove the doughnuts using a spider colander. Place on a paper towel to remove the excess oil. Cool for about 1 minute.