The cheapest and only way to get there (unless you have/rent a car) is by bus.
From Lisbon it is a 8h trip, from Porto is an 4h trip.
There's lots of Bus Companies on Portugal, I left here the one I frequently use to get there.
The price of the ticket from Lisbon is around 25€ (one way) and from Porto about (20€)
We arrived in Bragança, and also moved around, by car. The city is situated on the northeastern corner of the country and its public transports are not that good. Even by car, Bragança it's 6 hours away from Lisbon (525 km) and 3 hours away from Porto (210 km).
Although not so ecological nor so cheap, driving to Bragança it's a good choice, because it also allows you to explore its great surroundings. I'd say a day in Bragança and then a few days to explore surroundings, such as Parque Natural de Montesinho, Puebla de Sanabria (Spain) or relaxing at the river beach in the Azibo dam.
To explore the city, and the citadel, walking around is a good, healthy, cheap and ecological option.
The central bus terminal of Bragança uses a defunct train station, and this is where one can catch the local Rodonorte buses to other towns and villages in Trás-os-Montes as well as long-distance services to places like Vila Real, Porto, and Lisbon. While the terminal for the local services is located right next to the station building, the long-distance terminal climbs up the road a bit to the back side of it. With new facilities and a waiting room with a café, this terminal offers convinience to anybody that uses it. Oh one thing, sometimes you can see the EuroLines bus service all the way to Switzerland!