Cameron Lancaster scored in the 88th minute to give Louisville City the USL championship with a 1-0 win over Swope Park Rangers in Monday night's final.
Lancaster, a second-half substitute, headed home a long ball forward from Speedy Williams at the near post, securing the title for Louisville in its third year of existence.
Swope Park, the reserve team of MLS's Sporting Kansas City, lost in the USL Cup final for the second year in a row.
The game was played in front of 14,456 fans, a record crowd at Louisville Slugger Field. Louisville City plans to open a new stadium of its own in 2020.
The 2017 season was USL's first since being granted provisional Division 2 status by U.S. Soccer, up from the third tier.