С 1951 по 1956 годы выступал за ДСО «Авангард». С 1957 года за ДСО «Труд» (Ленинград).
В 1952 году тренером Шилкова был Калинин. Первого значительного успеха Шилков достиг в 1952 году, когда он на стадионе «Медео» пробежал 1500 метров за 2 минуты 14,3 сек. В этом году на высокогорном катке «Медео» Шилков в сумме многоборья 192,575, а на равнинном катке — 197,7.
В начале сезона 1952/53 годов в Свердловске, Шилков пробежал 5000 метров за 8 мин. 14,9 сек, это был лучший результат среди советских конькобежцев на равнинных катках. В сумме многоборья он набрал 191,808.
В 1953 году стал чемпионом СССР в многоборье. В 1954 и 1955 годах он ещё дважды повторил это достижение.
В 1954 году присвоено звание — Заслуженный мастер спорта СССР.
Борис Шилков — семикратный чемпион СССР на различных дистанциях, в том числе: чемпион СССР 1953, 1954 и 1955 годов на дистанциях 1500 и 5000 метров, чемпион СССР 1955 года на дистанции 10000 метров. Шилков дважды выигрывал на чемпионатах СССР серебряные медали на дистанции 1500 метров (1952 и 1961 годы) и один раз на дистанции 10000 метров (1954 год). Шилков был также бронзовым призером чемпионатов СССР на дистанции 10.000 (1953 год) и 1500 метров (1957 и 1960 годы).
В 1953 году дебютировал на чемпионате мира в Хельсинки. Чемпионом мира в сумме многоборья стал советский конькобежец Олег Гончаренко, а Борис Шилков завоевал второе место.
В 1954 году стал чемпионом Европы (Давос) в многоборье. В этом же году он стал чемпионом мира (Саппоро) в многоборье, опередив своего постоянного соперника Олега Гончаренко.
В 1957 году вновь становится серебряным призером чемпионата мира в многоборье. В 1955 году он был бронзовым призером чемпионата мира в многоборье.
На чемпионатах мира Шилков завоевывал медали и на отдельных дистанциях:
На чемпионатах Европа Шилков завоевывал медали на отдельных дистанциях:
В 1956 году на Зимних Олимпийских играх в Кортина-д’Ампеццо завоевал золотую олимпийскую медаль на дистанции 5000 метров.
9 января 1955 года на катке «Медео» Борис Шилков установил мировой рекорд на дистанции 5000 метров — 7 мин. 45,6 сек. Этот рекорд оставался непревзойденным в течение восьми лет, до 1963 года.
После окончания карьеры конькобежца, Борис Шилков стал тренером. С 1959 по 1962 годы он был тренером ДСО «Труд» в Ленинграде.
В 1962 — 64 и 1966 — 68 годах был тренером олимпийской сборной СССР.
В 1964 году стал Заслуженным тренером СССР.
Затем Шилков работал тренером в Ленинграде. С 1979 по 1989 годы был тренером общества «Динамо» Ленинград. Ученики Шилкова - Антс Антсон, Игорь Осташев, Станислав Селянин и Владимир Свешников.
Борис Шилков награжден орденом Трудового Красного Знамени (1957).