Piątek began his career with local side Dziewiątka Dzierżoniów in 2006. He then moved to Lechia Dzierżoniów of III liga in 2011.
Krzysztof Piatek signed for Zagłębie Lubin in 2013 and initially played in junior and reserve teams of the club. After the arrival of Piotr Stokowiec as the new coach, however, he was quickly promoted to the first team on 14 May 2014 and then made his Ekstraklasa debut on 18 May 2014 in a match against Cracovia. Over the course of the next season, he became a regular starter for Zagłębie, who played in I liga, the second tier of Polish football. He scored his first senior career goal on 12 September 2014 in a 1–0 win to Chrobry Głogów and his first brace on 31 October 2014 at Widzew Łódź. After earning promotion with the club, Piątek scored his first league goal on 14 August 2015 in a 2–1 win against Lech Poznań and helped the team finish third in the 2015–16 Ekstraklasa season, earning a medal and qualifying for European competitions for the first time in club’s history since the championship winning team of 2006–07.
He played a total number of 85 matches for Zagłębie and scored 18 times, including appearances in the Polish Cup and UEFA Europa League qualifying stages.
In 2016, Krzysztof Piatek joined fellow Polish side Cracovia and over the course of the next two seasons, he scored 32 league goals in 65 appearances for the club. That tally included a haul of 21 goals during his second season which saw him end the 2017–18 Ekstraklasa campaign as the third top goalscorer in Poland.
On 8 June 2018, Krzysztof Piatek signed a four-year contract with Italian club Genoa for a reported fee of €4 million. He scored four goals, including a hat-trick in the opening 19 minutes, on debut in a 4–0 Coppa Italia win over Lecce. He made his Serie A debut on 26 August, scoring in the opening six minutes of the match in a 2–1 win over Empoli. The following week, he scored his first brace of the season in a 5–3 loss to Sassuolo, which was followed by another strike in a 4–1 loss to Lazio, thus becoming the first player since Andriy Shevchenko in 1999 to score five goals in his first four Serie A appearances.
During his following match, a 2–0 victory over Chievo, he scored his 10th goal across all competitions and in the process became the first player across Europe’s major leagues to reach the milestone for the season. On 30 September, Krzysztof Piatek scored a brace inside three minutes in a 2–1 win over Frosinone to make it 8 goals in six matches, the best start to a season by a debutant since Karl Aage Hansen in the 1949–50 campaign. In his very next match, he became the first player since Gabriel Batistuta in the 1994–95 season to score in each of his first seven Serie A appearances when he netted in a 3–1 defeat to Parma.