Bella is a dog that was born under a condemned building in Denver. Every couple days, a man feeds Bella, her mom and the feral cats that live with them. One day, however, different humans come to the building. They plan to tear down the building so they can build a new apartment complex. They see one of the cats while they are there and realize they will have to clear the building of the animals before they can start construction.
A few days later, the men throw a smoke bomb into the den below the building, scaring Bella’s mom and most of the cats. They flee. Bella, however, wedges herself into a small crack at the back of the den with one of the cats. When the man who has been feeding them returns, Bella goes to him. He is kind and gentle. He takes her home with him. She discovers that his name is Lucas, and he becomes her person. They live with Lucas’ mom, who is a veteran.
Lucas’ apartment does not allow dogs, so he teaches Bella no barks and how to hide in the bushes beside their apartment entrance until he can let her in when she does go home. Bella doesn’t always understand these games, but does her best so Lucas will think she’s a good girl. She gets scared when Lucas and mom go to work, and sometimes she can’t help barking. When one of Lucas’ neighbors reports him for having a barking dog in the apartment, Lucas realizes he’s going to have to come up with a better plan.
Lucas starts bringing Bella to his job at the VA hospital. Dogs aren’t allowed there either, but one of Lucas’ friends and co-workers, Olivia, helps him hide her in various closets and empty patient rooms. Eventually the veterans and some of the staff find out about Bella. She brings so much comfort to the sick and injured veterans that the staff starts helping Lucas hide Bella.
Meanwhile, the head of the corporation that is building the apartments, a man named Gunter, gets a permit to demolish the building. Lucas has been feeding the few cats still living under the building and tries to convince Gunter to have the cats rescued before the building is torn down. When Gunter refuses, Lucas reports him to the police and animal control. It’s illegal to tear down a building with animals living in it. Gunter comes to Lucas’ apartment to bribe Lucas to withdraw the report and meets Bella. When Lucas refuses to budge, Gunter becomes angry and threatens him.
Gunter then reports that Lucas is keeping a pit bull in his apartment, which is illegal in Denver. He bribes a few corrupt animal control officers to track Bella and confirm that she is a pit bull, despite her being an unknown breed. While Bella and Lucas are out on a walk, they encounter one of these officers, named Chuck, who wants to take Bella into custody and give her a chip that registers her as an illegal pit bull. If a chipped dog is taken in a second time, it is destroyed.
Lucas unclips Bella’s leash and tells her to go home, since the officer cannot confiscate a dog that is on private property. Bella makes it home, but the officer lures her off of the apartment’s porch with a treat. The officer places her in a kennel in his truck and takes her to a holding facility where she is chipped.
Lucas is able to come get Bella the next day, but he is warned that if Bella is seen in Denver again, she will be euthanized. Lucas and his mom begin looking for a new apartment outside of the city limits so Bella will be safe. They also begin walking her late at night, so they won’t risk running into animal control again.
One evening, however, Lucas’ mom takes Bella out for a walk a bit earlier than normal and runs into Chuck. Lucas’ mom tries to send Bella home, but she is too late, and Chuck captures her. The vet on duty at animal control protests that Bella doesn’t look like a pit bull or seem aggressive. She attempts to appeal the euthanasia order.
Lucas is frantic to save Bella and discovers that one of his old high school friends is doing community service at the animal control facility. He pays his friend to help him break Bella out. The friend takes Bella out to the yard where they walk the dogs and lifts her over the fence to Lucas, who is waiting on the other side.
Lucas knows he can’t risk keeping Bella in Denver any longer. He gets in touch with a shelter that can place Bella in a foster home until Lucas can find a new apartment and come get her. A woman from the shelter picks Bella up and drives her to the foster home. Bella is deeply unhappy and doesn’t understand why Lucas has sent her away.
The foster family is kind, but Bella feels a deep need to go home and find Lucas. She manages to jump the family’s backyard fence and starts to head back toward Denver. She travels through a town for a few days, begging at back doors and rummaging through trash cans, and then she enters the forest.
A few days after entering the forest, Bella hears a gunshot. She knows that this sound means that humans are nearby and goes to find them. When she gets closer, however, she finds the dead body of a cougar. It reminds her of the cats she used to live with under the building.
She hears the men approaching and decides they are dangerous, so she runs back into the woods. Bella hears something following her and looks back. She sees a cougar cub following her and realizes the dead cougar was the cub’s mother. Bella decides that Lucas would want her to take care of the animal that she names Big Kitten, just like he took care of the cats under the building.
The two become a pack, with Bella sharing any food she is able to scavenge, and Big Kitten hunting small rodents and deer for them. As they travel through the woods, winter begins to set in, slowing Bella’s progress toward Lucas and making it more difficult for her and Big Kitten to find food. After a long day of traveling through the snow, Bella smells people and another dog. She longs to greet them and see if they have food. She leaves Big Kitten behind in the woods and goes to investigate.
Bella sees a man and a dog walking beneath a snowy overhang, while two other men shout a warning. Suddenly the snow breaks free from the overhang causing an avalanche. Bella and the other dog manage to outrun it, but the man is not so lucky. He is quickly buried. Once the snow settles, the man’s dog begins frantically trying to dig him out. Bella goes to help.
The other men also come to help, and one of them calls the snow patrol. They are able to save the man, and the snow patrol transports him to the nearest hospital, but the patrol can’t take the dog, so the two men decide to take Bella and the other dog, Dutch, to their cabin with them.
The two men, Gavin and Taylor, take Dutch and Bella when they leave the cabin the next day for their own homes. Dutch is distraught at being away from his owner and tries to run away, but Gavin finds him again. When Gavin is able to get in contact with Dutch’s owner, the man doesn’t want him back. Dutch eventually bonds with Gavin and Taylor and is happy to stay with them.
Bella also loves Gavin and Taylor and stays with them for a bit, but she knows that Lucas is still her person. When Gavin and Taylor take the dogs to the cabin the next summer, Bella escapes and continues her journey back to Lucas.
Bella has a harder time finding food without Big Kitten, so she does her best to stay close to towns and campsites. In one of the towns, she encounters a homeless man named Axel, who offers her food. When she gets closer, he puts a leash around her neck, and she is forced to stay with the man for a while. She grows to love him and does her best to provide warmth and comfort. Axel eventually dies of an overdose. Bella mourns him but knows that it is time to go back to Lucas.
After much traveling, Bella is overjoyed when she can smell that she finally made it back to Denver. She runs to Lucas’ apartment and scratches and barks until a woman opens the door. Bella doesn’t recognize the woman, but pushes past her to try to find Lucas. The woman is kind, but when Bella realizes that Lucas isn’t there, she asks to be let back out. The only other thing Bella can think to do is go to work. She heads to the VA hospital.
Once she arrives, Bella finds Olivia. Lucas is not at the hospital, but Olivia calls him to tell him that Bella is back. Lucas is overjoyed and rushes over. Lucas has been looking for Bella for over a year. He found a dog-friendly apartment in Golden, but Bella was already gone when he went to the foster home to pick her up. The veterans are also overjoyed to have Bella back, and since the VA hospital is technically federal land, Bella can come to the hospital to help without breaking Denver’s pit-bull regulations.