Born in Požarevac,[2] Bainović passed youth academy of football club Rad. As a member of generation which win the Serbian youth league for the 2014–15 season, Bainović joined the first team in summer 2015.[3] He made his Serbian SuperLiga debut on 1 August 2015 in 4–1 home victory over Radnik Surdulica, when he also made an assist for a goal.[4] He signed his first three-year professional contract with Rad on 11 September 2015.[5] During the season, Bainović capped in the UEFA Youth League.[6]
Shortly after he became fully pro, Bainović moved on dual registration to the satellite club Žarkovo.[7] Playing for reserves, Bainović collected 43 appearances with 9 goals at total, including 37 appearances with 9 goals in the Serbian League Belgrade[2] and 3 matches in the Serbian Cup.[8][9][10] He also noted 3 games in Belgrade cup against Stepojevac Vaga,[11]Dorćol[12] and Brodarac 1947 after which he won the competition.[13] He captained Žarkovo in his second season with the team.[14]
Returning to the first squad, Bainović scored his first goal for Rad in the Serbian SuperLiga in 1–1 draw to Javor Ivanjica on 4 March 2017 from direct free kick.[15] In August 2017, Bainović renewed his contract with Rad until 2020.[16] At the beginning of 2018, Bainović moved back to Rad as a loaned player until the end of the 2017–18 Serbian SuperLiga campaign.[17]
As a right-footed player, Bainović mainly operates as a defensive midfielder,[25] being capable of playing as a central midfielder with possibility to take box-to-box role.[26] He can also play as a central defender in some occasions.[27] Bainović is characterized by leadership and captaincy.[14]