On 20 July 2015, Bastoni was signed by Serie C side Robur Siena. On 6 September he made his Serie C debut for Siena and he scored his first professional goal in the 48th minute of a 1β1 home draw against Carrarese, he played the entire match. On 15 November, Bastoni scored his second goal for Siena in 76th minute of a 2β1 away win over Pisa. On 4 December he scored his third goal for Siena in the 84th minute of a 3β1 home win against L'Aquila. Bastoni ended his loan to Robur Siena with 19 appearances, 3 goals and 1 assist.
Loan to Carrarese
On 31 August 2016, Bastoni was loaned to Serie C side Carrarese on a season-long loan deal. On 4 September, Bastoni made his debut for Carrarese as a substitute replacing Marco Cristini in the 60th minute of a 3β1 home defeat against Arezzo. On 11 September he played his first entire match for Carrarese, a 1β0 away defeat against Livorno. On 13 November he scored his first goal for Carrarese, as a substitute, in the 80th minute of a 3β1 home win over Como. On 7 December he scored his second goal in the 8th minute of a 2β2 away draw against Pontedera. On 19 February, Bastoni scored his third goal in the 50th minute of a 3β1 away defeat against Tuttocuoio. Bastoni ended his season-long loan to Carrarese with 32 appearances, 4 goals and 3 assists.
On 1 July 2017, Bastoni was signed by Serie C side Trapani with a season-long loan deal. On 9 September he made his debut for Trapani as a substitute repalcing Antonio Palumbo in the 55th minute of a 0β0 home draw against Sicula Leonzio. On 23 October he scored his first goal for Trapani in the 29th minute of a 3β3 home draw against Catanzaro. On 11 November, Bastoni played his first full match for Trapani, a 3β3 away draw against Matera. Bastoni ended his season-long to Trapani with 27 appearances, 1 goal and 2 assists.
On 31 January 2019, Bastoni joined Novara on loan. Three days later, on 3 February he made his debut for Novara in a 0β0 home draw against Piacenza, he played the entire match. Bastoni ended his 6-month loan with 16 appearances, including 14 as a starter.
International career
Bastoni represented Italy at Under-18 and Under-19 level, he collected a total of 5 caps and 1 goal.On 19 March 2014, Bastoni made his U-18 debut in an international friendly against Hungary U-18, he was replaced by Antonio Romano in the 67th minute of a 2β0 home win. On 16 April 2014 he made his debut at U-19 level as a substitute replacing Davide Calabria in the 62nd minute of a 4β2 away win against Switzerland U-19. On 5 September 2014, Bastoni scored his first goal at U-19 level in the 89th minute of a 5β0 away win against Slovakia U-19 in an international friendly.