Danny Lopez arrives in National City to stay for the summer with his cousin Sofia and uncle Tommy. Danny is half Mexican and half white, and he lives in Leucadia, an affluent area in San Diego, with his mom. He wants to use the summer to make money so he can buy a ticket to see his dad, Javier, in Mexico. Almost everyone in National City is Mexican and speaks both English and Spanish, but Danny doesn’t speak Spanish. As Danny meets Sofia’s friends, he realizes how different he is from them. He feels intense anxiety, and in response, he digs his nails into his arm until he feels sharp pain.
Every Saturday over the summer there’s a stickball derby in National City—whoever hits the most homeruns wins around thirty dollars. Danny loves baseball and is a talented player, so he joins the derby on his first day in National City. At the derby, he meets Uno. Uno is a strong player, and he hopes to win a lot of money from the derbies this summer. Uno pitches to Danny his first time up to bat, and to everyone’s surprise, Danny hits several home runs. Uno is frustrated by this and starts throwing wild pitches. Danny swings and accidentally lets go of the bat, and it hits Uno’s disabled stepbrother, Manny. Enraged, Uno punches Danny in the face, knocking him out. When Danny wakes up momentarily, a girl (Liberty) who looks half white and half Mexican is laying a towel under his head. Danny thinks she’s very pretty.
A couple weeks later, Uno gets lunch with his dad, Senior, who he sees once a month. Uno has been getting in trouble lately, and Senior encourages him to change his ways. Senior invites Uno to live with him in Oxnard, with the stipulation that Uno must first make $500 over the summer. Uno wants to live with his dad but he feels torn because his mom doesn’t want him to go. He brainstorms ways to come up with the money.
Meanwhile, Danny hasn’t left Sofia’s house since Uno punched him. He reminisces about how he lost control of his pitching at tryouts for his prep school’s baseball team. He didn’t make the team, and on the last day of tryouts, Danny’s mom told him that their family was moving to San Francisco with her boyfriend, Randy. Danny resents his mom and partially blames her for his dad leaving the family. Danny’s grateful that he’s spending the summer with his dad’s side of the family.
A few days later, Danny, Sofia, and the other teenagers they hang out with are getting ready to go to the fair when Danny’s uncle Ray shows up and demands to know whether Uno hit Danny. Danny lies and says no, winning the respect of the others. At the fair, Danny learns that the half white girl he saw earlier is named Liberty and that she’s from Mexico and doesn’t speak English. He gets very drunk at the fair and falls asleep. He has a recurring dream about a family of hawks. In the dream, the hawks fill Danny with joy, but they leave, and he can never find them again.
Later on at the fair, Danny, visibly drunk, joins the other boys at a pitching booth. Uno and some of the others bet that he won’t pitch over 50 miles per hour, but Liberty bets that he will. Danny pitches at 92 miles per hour, shocking everyone. It’s the fastest speed the pitching booth worker has ever seen.
A few days later at a family dinner, Ray sees the scars on Danny’s arm from self-harm. Ray says that Javier loves Danny and that Javier is coming back soon, and Ray encourages Danny to keep sending Javier letters. Danny enjoys spending time with his extended family, but feels excluded because they sometimes speak in Spanish, and because they treat Danny differently due to his affluent upbringing. A couple days after the family dinner, Danny’s mom calls and says that she, Randy, and Danny’s sister are happy and doing well in San Francisco. Danny is disgusted and thinks he never wants to live with his mom again.
The next time Uno has lunch with Senior, Uno expresses uncertainty about whether he’ll be able to make $500 over the summer. Senior says that Uno must work for the money. A few days later, Uno sees Danny practicing pitching and asks to join him. Danny agrees, but he throws an intentionally hard pitch to hurt Uno’s hand as revenge for Uno punching him. Uno knows he deserves it. Uno and Danny start working out together regularly. They form a plan to hustle high school baseball teams around the area by betting them that Danny can strike them out. At the park, the boys notice a man wearing a Padres hat who they think is scouting Danny. The next day, they go to Morse High for their first hustle. Danny loses control of his pitching, like he did at his school’s baseball tryouts, and they lose the bet. Danny feels horrible and ruminates about it for days. He writes a letter to his dad in which he lies about his life—he writes that he’s on an all-star baseball team and that Liberty is his girlfriend.
A while later, Danny and Uno run into each other at a liquor store late at night. They go to a spot Uno knows near the train tracks. They play a game that involves aiming rocks at a railroad crossing sign; they imagine that whether they hit the sign or not will determine their futures. When a train comes, the boys go under a bridge beneath the tracks, and they’re struck by a feeling of intense energy as the train passes. A few days later, Danny and Uno try to hustle a different team. They win this time, and Uno stops one of the players from attacking Danny. Danny gains control of his pitching, and the two boys successfully hustle several more teams. They continue to see the man in the Padres hat—he seems to be following Danny.
Danny and Uno decide to re-challenge the Morse High team that they lost to before. They win this time, but the Morse High players try to steal the money. A brawl breaks out, and the man with the Padres hat breaks it up, saving Danny and Uno. Danny and Uno have now made a good amount of money and they celebrate at a party with their friends. Uno and Sofia start a romantic relationship at the party, and Danny and Liberty also spend time together and express that they like each other. A few days later, Danny’s mom calls him crying, and says that she’s moving back to Leucadia because she wants to spend more time with Danny and his sister.
Sometime in August, Danny is in the car with Ray when Ray intentionally hits a man with the car, beats him up, and runs him over. It is a horrific and bloody scene, and Ray’s manic anger reminds Danny of Javier.
A week before Danny’s mom is supposed to pick him up to go back to Leucadia, Uno and Danny attend a Padres game. There, Danny sees the man he thinks is scouting him. Danny confronts the man and finds out that he’s actually a friend of his father’s from prison who Javier sent to look after Danny. Danny learns that his father is not in Mexico like he said, but instead is in prison. Danny is shocked and feels drained. Later that day, wanting to cry but feeling empty, Danny intentionally cuts deeply into his arm with tweezers. Sofia sees the bleeding and comforts him.
A few days later, Danny and Uno go to Leucadia to challenge the star hitter on Danny’s school’s team—Kyle Sorenson. Danny doesn’t care about winning anymore and he feels no pressure in the situation. He pitches well, but he doesn’t strike Kyle out. Another player on the Leucadia team calls Uno a racial slur, and Danny punches him. As a fight breaks out, Kyle protects Danny and Uno, and tells Danny that the Leucadia coach will be in touch with him. Danny feels like a new phase of his life is starting.
On Danny’s last night in National City, Uno says he is moving to Oxnard and Sofia announces that she’s going to spend the next semester in Leucadia. Danny and Liberty kiss. Uno and Danny go to the spot by the train tracks and make plans to visit Javier in prison the next day. They stay up to watch the sunrise, and Danny thinks that while his future is uncertain, he is happy.