Народився 28 березня1986 року в місті Новий Сад. Дорослу футбольну кар'єру розпочав 2005 року в основній команді клубу «Воєводина» з рідного міста, в якій провів два сезони, взявши участь у 28 матчах чемпіонату.
2007 року Петкович перейшов у турецький «Генчлербірлігі» і дебютував за новий клуб у Суперлізі 12 серпня 2007 року в грі проти «Хаджеттепе», тим не менш основним гравцем стати не зумів. В результаті у січні 2008 року Петкович був відданий в оренду у «Хаджеттепе», де і дограв сезон[1]. У серпні 2008 року був відданий в оренду «Црвені Звезді»[2], за яку виступав протягом осінньої частини сезону 2008/09, взявши участь у 13 іграх чемпіонату.
22 січня 2009 року Петкович перейшов у франкфуртський «Айнтрахт», з яким він підписав контракт до 2012 року[3]. Він дебютував у Бундеслізі 31 січня 2009 року в грі проти берлінської «Герти» (1:2) і загалом за півтора сезони в чемпіонаті захисник вийшов на поле лише 8 разів і перед початком сезону 2010/11 перейшов до російської «Томі» на правах піврічної оренди з правом викупу[4], проте за підсумками сезону томський клуб цим правом користуватися не став. Після повернення в «Айнтрахт» Петкович зіграв лише один матч у Бундеслізі проти «Гамбурга», після чого знову вирушив в оренду, на цей раз в саудівський клуб «Аль-Аглі»[5].
У серпні 2011 року Петкович повернувся в «Црвену Звезду», з якою підписав контракт на два роки з можливістю продовження ще на один рік[6]. У сезоні 2011/12 він зіграв лише 12 ігор у Суперлізі Сербії і виграв Кубок Сербії[7], після чого у червні 2012 року клуб заявив, що не буде розраховувати на нього в новому сезоні, тому Петкович погодився розірвати контракт за обопільною згодою сторін[8].
На початку вересня 2012 року підписав контракт з ізраїльським клубом «Хапоель» (Тель-Авів) на правах вільного агента[9]. Протягом осінньої частини сезону 2012/13 серб зіграв вісім матчів чемпіонату. Після того, як Петкович вирішив пробачити борг у 60 тис. євро «Црвені Звезді»[10], він отримав запрошення від клубу повернутися знову[11]. У січні 2013 року Петкович переуклав контракт із «Звездою», таким чином ставши втретє гравцем белградських «червоно-білих»[12]. Протягом весняної частини сезону 2012/13 був основним гравцем і зіграв 11 ігор чемпіонату.
19 вересня 2013 року уклав річний контракт із австралійським клубом «Сідней»[13]. Дебютував у складі клубу 11 жовтня 2013 року в матчі А-Ліги з «Ньюкасл Юнайтед Джетс» (2:0)[14]. Всього Петкович у сезоні 2013/14 провів 28 ігор чемпіонату і був визнаний найкращим гравцем клубу[15]. Після успішного сезону клуб вирішив продовжити з ним контракт ще на один сезон[16]. Крім того він разом із Сашою Огненовським був призначений віце-капітаном[17] і в другому сезоні також був основним гравцем команди і зіграв 26 матчів чемпіонату.
У червні 2015 року повернувся в європейський футбол і підписав контракт з клубом вищого бельгійського дивізіону «Вестерло». Він провів 15 ігор за «Вестерло» протягом осінньої частини сезону 2015/16, перш ніж попросити розірвати контракт у січні 2016 року з особистих причин[18].
26 січня 2016 року Петкович перейшов до «Яньбянь Фуде» з китайської Суперліги[19]. 10 лютого 2017 року він продовжив контракт з клубом ще на один сезон[20]. Загалом за два сезони він зіграв 31 матч у чемпіонаті і забив 3 голи.
У лютому 2018 року він повернувся до Сербії та приєднався до команди «Земун», за яку у весняній частині сезону 2017/18 зіграв вісім ігор у Суперлізі Сербії. Після цього серб повернувся до Азії і до кінця 2018 року грав у Таїланді за «Поліс Теро», а з 2019 року став гравцем команди другого дивізіону Китаю «Сичуань Лонгфор»[21].
На початку вересня 2019 року Петкович після 12 років повернувся до рідної «Воєводини» з якою підписав дворічний контракт[22]. Тим не менш до кінця року Никола зіграв а команду лише 3 гри чемпіонату, після чого розірвав контракт із «Воєводиною»[23] і незабаром завершив кар'єру гравця.