Awal masa kedinasan (1973-1998)
Lokomotif BB303 pertama kali beroperasi pada tahun 1973 di Sumatera Utara, Sumatera Barat, dan Pulau Jawa sebagai adik dari Lokomotif BB302 yang beroperasi di Sumatera Utara saja. Didatangkan pada 1973 sebanyak 15 unit, 1975 sebanyak 4 unit, 1976 sebanyak 2 unit, 1978 sebanyak 16 unit, 1980 sebanyak 5 unit dan 1984 sebanyak 15 unit. Dengan tekanan gandarnya yang ringan, lokomotif ini mampu beroperasi secara luas di berbagai lintas di Pulau Jawa dan Sumatra, khususnya yang hanya mampu menahan tekanan gandar dibawah 14 ton (14 ton panjang; 15 ton pendek). Lokomotif BB303 yang terakhir didatangkan pada tahun 1984, bersamaan dengan adiknya, BB306.
Sejak awal beroperasi di Sumatera Utara dan Sumatera Barat, lokomotif ini sudah menjadi andalan untuk seluruh kereta penumpang dan barang. Di Pulau Jawa, lokomotif BB303 pun menjadi andalan untuk kereta api jarak dekat hingga menengah, seperti kereta api Lokal Rangkasbitung dan Patas Merak di wilayah Daerah Operasi I Jakarta, lalu kereta api Pandanwangi dan Probowangi di wilayah Daerah Operasi IX Jember. Pada tahun 1987, salah satu lokomotif ini yaitu lokomotif BB 303 16 afkir karena Tragedi Bintaro, yang merupakan kecelakaan kereta api terparah sepanjang sejarah perkeretaapian di Indonesia. Sampai dengan tahun 1990-an akhir, BB303 pun masih menjadi andalan di Pulau Jawa untuk kereta-kereta jarak dekat dan menengah.
Akhir masa kedinasan (1998-sekarang)
Setelah 25 tahun beroperasi, khusus untuk lokomotif BB303 yang beroperasi di Sumatera Utara, dilakukan rehabilitasi dengan mengganti mesinnya dengan tipe terbaru, sama dengan lokomotif BB302 yang juga direhab sehingga lokomotif BB303 yang telah direhab memiliki daya sekitar 890 kW (1.190 hp) serta memperpanjang masa pakai. Ini menyebabkan sampai saat ini, lokomotif BB303 masih banyak beroperasi di Sumatera Utara dan beberapa lokomotif hasil rehab ada yang dikirim ke Sumatera Barat sebagai tambahan armada.
Sementara di Jawa, nasib lokomotif BB303 tidak seberuntung di Sumatra. Perlahan-lahan, lokomotif ini mulai tergeser menjadi lokomotif langsir, bahkan hingga mangkrak. Contoh tergesernya posisi lokomotif BB303 adalah tergesernya lokomotif ini sebagai penarik KA Lokal Rangkasbitung, yang digantikan oleh CC201 yang menemani BB304 yang sudah ikut menarik KA ini lebih dulu. Lalu, di Daerah Operasi IX Jember, perannya juga tergeser karena kedatangan lokomotif CC201 di Depo Jember yang mengakibatkan perannya dalam menarik kereta api jarak menengah seperti Pandanwangi dan Probowangi pun tergeser.
Pada tahun 2014, seiring dengan kedatangan lokomotif CC201 dan BB203 ke Divisi Regional 1 Sumatera Utara dan Aceh, dilakukan mutasi terhadap 7 unit lokomotif BB303 dari Depo Induk Medan ke Depo Induk Padang, diantaranya BB 303 08 (BB 303 73 03), BB 303 22 (BB 303 78 01), BB 303 23 (BB 303 78 02), BB 303 35 (BB 303 78 09), BB 303 36 (BB 303 78 10), BB 303 51 (BB 303 84 08), BB 303 57 (BB 303 84 12).
Sampai saat ini, lokomotif BB303 masih menjadi andalan di Sumatera Barat, terutama untuk dinasan KA penumpang dan langsiran KA Semen Padang. Di Sumatera Utara, keberadaannya mulai tergeser dengan keberadaan lokomotif BB203 dan CC201 yang ada. BB303 di Sumatera Utara saat ini lebih banyak didinaskan sebagai penarik KA jarak pendek, serta terkadang hanya ditugaskan menjadi lokomotif langsir di Balai Yasa Pulu Brayan, Stasiun Medan, Belawan, Perlanaan, Tebing Tinggi dan Kisaran. Meskipun demikian, kedua lokomotif tersebut belum mampu menggeser BB303 sepenuhnya karena kebutuhan lokomotif yang masih belum terpenuhi di Sumatera Utara. Di Jawa, saat ini sudah tidak ada lagi lokomotif BB303 yang beroperasi.