Preheat oven to 350°F (175°C). Line a baking sheet with parchment paper or a silicone baking mat. If almonds aren't toasted, spread on a small baking sheet and toast for 8-10 minutes until fragrant, then cool and roughly chop.
In a medium bowl, whisk together flour, baking powder, and salt until no lumps remain. Set aside.
In a large mixing bowl, beat softened butter and sugar with an electric mixer on medium speed for 3-4 minutes until light and fluffy. Scrape down the sides of the bowl.
Add eggs one at a time, beating well after each addition. Mix in vanilla extract and almond extract until smooth and well combined.
Reduce mixer speed to low and gradually add the flour mixture, mixing just until flour disappears. Do not overmix. Fold in chopped toasted almonds with a wooden spoon or spatula.
Turn dough onto prepared baking sheet and divide in half. With lightly floured hands, shape each half into a log about 12 inches long, 2 inches wide, and 1 inch tall. Space logs at least 3 inches apart and gently flatten tops.
Bake for 25-30 minutes until logs are golden brown and firm to the touch. A toothpick inserted in the center should come out clean. Remove from oven and cool on baking sheet for 10 minutes.
Transfer one log to a cutting board. Using a sharp serrated knife, cut diagonally into ½-inch thick slices using a gentle sawing motion. Repeat with second log. Place slices cut-side down on baking sheet with small space between each.
Return baking sheet to oven and bake for 10 minutes. Carefully flip each biscotti over and bake another 10 minutes on the second side. For extra-crunchy biscotti, bake an additional 5 minutes.
Remove biscotti from oven and transfer to a cooling rack. Let cool completely before storing or eating. They will continue to harden as they cool.