Japan had taken the lead after just 30 seconds but Jaedyn Shaw levelled in the 21st minute before Horan's spot kick in the 77th minute.
The match, at Atlanta's Mercedes Benz Stadium drew a crowd of 50,644, the largest crowd ever for a USA women's team friendly and the biggest crowd for any of the team's games on home soil since the 1999 World Cup final.
The Americans will now face regional rivals Canada in Tuesday's final. The Canadians defeated Brazil 4-2 on penalties to win Saturday's second semi-final after the score finished 1-1 after 90 minutes.
USA interim head coach Twila Kilgore left Paris Saint-Germain midfielder Korbin Albert out of the starting line-up after a row over social media posts from the player.
The 20-year-old Albert apologised after sharing content, including a religious video about transgender and LGBTQ issues, which was heavily criticised by former player Megan Rapinoe.
The retired former captain of the team, known for her activism, suggested that the content was contributing to 'hate' against the LGBTQ community. Albert came on as part of a triple change in the 78th minute with the Americans already in the lead.
The huge crowd were quickly silenced when Japan scored on their first attack. Momoko Tanikawa fed Kiko Seike down the right and her low shot flew in off the inside of the post.
Striker Mallory Swanson, returning to the side after a year out with injury which cost her a place in the World Cup, went close with a left-foot shot which was cleared off the line by Japan defender Miyabi Moriya.
But the Americans, who had been on top, got on level terms when Sam Coffey won the ball in midfield, burst forward and then slipped a pass inside to Shaw who fired home with a low drive into the corner. The goal
Read on besoccer.com