Work Text:
Sapnap sighed as he walked to the door of his and Dream’s dorm room. Today had been too fucking long. All of his classes had gone over time so he had been sprinting from building to building across the campus all day, his professors had all decided to add on assignments that weren’t on the syllabus, and to top it all off he somehow ended up sitting next to each of the most annoying people in all of his classes. So, now that he was on his way home, all Sapnap wanted to do was curl up in his bed and take a nap. He practically skipped down the hallway at the thought of his nap. The blackout blinds could be closed, his sheets were (almost) fresh, and Dream would be at class for the next few hours too. Sapnap would actually get some good, honest rest before Dream’s (unintentional) loud ass stomping woke him up.
Finally unlocking the door, Sapnap sighed as he made his way into the room, toeing off his shoes, depositing his bag on his desk, throwing his hat on top of the bag, and pulling his phone out of his pocket as he approached his bed. He glanced at his phone, checking the time before briefly looking up, freezing at the sight in front of him.
Dream's fucking jersey was thrown haphazardly onto his pillow. Sapnap let out an annoyed groan at the sight. Why the fuck was Dream’s jersey on Sapnap’s bed? Frustrated, he took a picture of the jersey on his bed and sent it to Dream, telling him to watch where he throws his shit before tossing the jersey over to Dream’s bed. Sapnap briefly debated changing his pillow case, in case Dream’s football germs had gotten onto it, but he figured it was probably fine. There's no way the jersey was there long enough to make his bed dirty. Besides, he was way too fucking tired to care about that shit right now. And anyways, he wasn't really that upset about it, he knew that Dream had football practice in the morning and then had to race to class in the afternoon. It was understandable that the jersey got there. But seriously! How hard is it to aim your clothes (your stinky clothes) to your own side of the room?
Once his bed was jersey free, Sapnap finally let himself fall into it. He stretched out releasing some of the tension from the day before setting an alarm so he wouldn't sleep through dinner. Feeling content to finally be in his bed, he rolled onto his side, shoved a pillow under his knee and closed his eyes, waiting for the soft arms of sleep to take him away.
Sapnap groaned as he ground his hips into the man in front of him. He could smell the man's sweat, feel him pushing back into Sapnap’s hips, hear him moaning out Sapnap's name. Sapnap buried his face further into the man's neck, sucking little bruises everywhere he could as the man’s curly hair brushed against Sapnap’s forehead. His hips sped up as he neared completion. He was so close, just a few more thrusts and -
The harsh ringing of his alarm pulled him awake, ripping him from not only his orgasm but also the man in his dreams. He whined, burying his face in his pillow for a second before quickly reaching around for his phone and turning off the alarm. He had been so close! Stupid fucking alarm. His dick twitched, bringing his attention to the sticky, wet mess in his boxers and to the hard, pressing problem causing it.
As Sapnap became more aware of his surroundings, he realized that he must have rolled more onto his front in his sleep because now the pillow was pressed right against his crotch, giving him something wonderful and soft to grind into.
Sapnap sighed as he gave a test grind into the pillow, moaning at how good it felt. He ground lazily for a few seconds, just feeling the sticky glide in his boxers. Fuck, why did this feel so good? He checked the time quickly, finding that he still had lots of time before he needed to head to the dining hall for supper and even more time before Dream would be back from class. Perfect.
He looked down at his boxers, briefly thinking about trying to minimize the mess by pulling his dick out and using a tissue. You know… the proper way. But the wet friction of the fabric on his cock felt too good to give up. His boxers were already covered in pre-cum anyway, what difference would it make if he stopped now?
With his mind made up, he started grinding his hips into the pillow, moaning at how good it felt. He was definitely still close from his encounter with the dream man. It wouldn't take long now for him to finish. Soon enough he allowed himself to get lost back into his dream world. He ground his hips faster, humping the pillow with more force, as the man from his dream filled his mind's eye. Strong, wide shoulders, soft but solid body, curly dark blonde hair. Sapnap turned his face further into the pillow under his head to muffle the sounds of his moaning. Even though Dream wasn't here he still had to worry about the dorms around him.
The fantasy grew more vivid around him. His hips kept moving and he almost whimpered at the feeling washing over him. Fuck, his imagination must have improved significantly, because he could even smell the guy from his dream. The scent of sweat, musk, and pine trees filled his senses. Something about the scent just felt so safe and comfortable while simultaneously making him feel like his dick was so hard it was going to fall off. Fuck, he was so hard, he couldn’t take it anymore. He rolled slightly to the side, rushing and shoving his hand down into his boxers, gripping his dick tightly as soon as he could so that he could thrust into his hand.
In his mind the hand wrapped around his dick was slightly bigger and rougher. It teased him slightly while the scent of pine filled Sapnap’s nose. He whined and begged the imaginary man to let him cum and, with one final swipe of his thumb over his slit, Sapnap came with a muffled groan, biting his pillow to stop himself from being too loud as he imagined the slightly larger hand than his playing with his dick as he came down from his high.
He laid there, panting, for a bit before catching his breath and allowing himself to relax into his sheets. He briefly let himself imagine that the man from his dream was holding him close, cuddling into him as they both came down from their high. Sapnap breathed deeply, letting the comfort fill him before he made the lonely, cold walk to the bathroom. He found he was genuinely surprised to learn that he could still smell the man. The pine smell was the most obvious but there was a faint trace of sex that he could smell if he tried hard enough. Sapnap kept breathing deeply, trying to get as much of the scent into his system as possible before his brain took it away from him. As he became more conscious, he realized that the scent he was chasing wasn't actually in his imagination, it was on his pillow. Why did his pillow smell like a random man?
Sapnap took a deeper sniff before rolling over to look around and see if anything indicated someone else had been in their room when he saw it. Dream's jersey, still lying innocently where Sapnap had thrown it before his nap.
Where he had thrown it before his nap after it had been on his pillow.
Where he had thrown it before his nap after it had been on his pillow for probably long enough for the scent in it to transfer.
With a sinking feeling in his gut, Sapnap sat up and made his way over to Dream's side of the room, ignoring the mess in his boxers and on his hand. With his clean hand Sapnap reached out and picked up the jersey, carefully bringing it to his face and taking a small sniff. Instantly his senses were filled with the same scent he had been chasing earlier and Sapnap dropped the jersey in shock, backing up to his bed and trying to ignore the slight twitch of interest his cock gave after the scent filled his nose. He sat heavily on the edge of his bed, reaching on autopilot for some kleenex to wipe himself off.
Fuck. He had just gotten off to the smell of Dream.
After the incident Sapnap did his best to rid the smell of Dream from his mind and his bed. He changed his sheets, he stuck to watching porn only about women, and he definitely acted completely normal around Dream. He didn’t stare longingly at him from across their dorm room. He didn’t sniff Dream when he came home from class and greeted Sapnap with a hug. And he did not watch Dream search for clothes in only a towel after he had a shower and had forgotten to bring some…
Okay, so maybe Sapnap was freaking out a little bit and acting completely strange. The whole liking guys thing wasn’t a problem. Sapnap had known that about himself already. The issue was that for some reason his brain had latched on to the fact that he masturbated to Dream and now it thought he was in love with him.
Sapnap tried his best to move on from those thoughts, but every time he felt like he was making progress, Dream would do something that filled Sapnap’s thoughts with him. It wasn’t even just horny thoughts either (though, despite his best efforts, Dream’s face always filled his mind’s eye right before he came). Like, Dream brought Sapnap’s favourite snacks home with him after class one day because he knew that Sapnap had an essay due and he wanted to give him some encouragement. Then all Sapnap could think about while he wrote was just how much he wanted to always have Dream coming home to him and how nice it would have been to thank Dream with a kiss…
Or when Dream came home after Sapnap had just gotten off a call with his Dad where his Dad had been yelling at him for getting a 70% on a lab assignment (god Sapnap wishes he had never given his Dad access to his grades). Sapnap was in the middle of trying to calm himself down and wipe his tears off when Dream walked in, saw Sapnap’s face, and immediately wrapped him in the most comforting, reassuring hug Sapnap had ever had. How was he supposed to not fall in love?
Sapnap hit the point of no return on his feelings for Dream on probably one of his lowest moments in a long time. He had been having a bad day. He woke up feeling like shit, it was cloudy outside, and he just wanted to hang out with Dream, but he wasn’t there. Dream was gone for the weekend at an away game for football. Normally Sapnap would be kind of happy to have some extra space to hang out but this time all he wanted was his best friend. In a moment of sheer longing, Sapnap grabbed Dream’s shower caddy and took it to the showers so he could feel closer to him. When he got back to their room he grabbed Dream’s favourite old basketball shorts and a random shirt that Dream liked to wear when he relaxed and put them on before cuddling up in Dream’s bed and having a nap. He woke up feeling so comfy surrounded by Dream’s things that, for a moment, it felt like he was on top of the world.
Until, of course, he realized he was acting like Dream was his long distance boyfriend who he hadn’t seen in months, let alone saw a couple days ago. Sapnap snapped out of his relaxed state and quickly took off Dream’s clothes, putting them in the laundry basket and straightening out Dream’s bed before Dream could get home and realize something happened. He thought about taking another shower to get rid of the smell of Dream’s soap but he couldn’t make himself do it. He still didn’t feel great and he wanted to keep at least some comfort from before.
When Dream came home after the long bus ride he immediately wrapped Sapnap up in a big hug, burying his face in Sapnap’s hair and holding him tightly. Sapnap relaxed into Dream’s arms, trying to resist the urge to burrow into his chest while debating whether he should tell Dream that he missed him or not.
Just as Sapnap had decided to tell him, Dream pulled back slightly, looking down at Sapnap with a smile and a mildly confused look on his face. Sapnap decided to keep his mouth shut and wait to see what Dream said.
“Why do you smell different?” Dream asked, leaning forward to smell Sapnap’s hair again.
“I don’t know, maybe the formula for one of my shower products changed,” Sapnap said quickly, hoping it wasn’t too obvious that it was a lie as he tried to fight down the massive blush that was rising on his face.
Dream just grinned at Sapnap and shook his head, “Okay, Sap, whatever you say,” Dream said, pulling Sapnap in closer once more before letting go so he could start unpacking.
Sapnap just stared as Dream unpacked. Despite the fact that Dream had let go of him, Sapnap’s face was still very red, but he couldn’t deny how happy he was that Dream was home. With one final glance at Dream, Sapnap turned away and collapsed onto his bed, finally accepting that his feelings for Dream were here to stay.
So Sapnap was in love with Dream, and that was fine. He still tried not to indulge too much in being super horny about him because, well, he still wanted to be able to act normal around his best friend. For the most part, he was doing really well. Dream was only the focus of his fantasies some of the time and there hadn’t been another incident with Dream’s jersey on his bed, so that made it pretty easy to ignore the part of his head that told him to jerk off with the jersey on to chase the high he had that he had never felt before.
And that was going well! Until of course he came home from his classes to Dream’s jersey on his bed again. He would be lying if he said he hadn’t been secretly hoping that Dream would throw it onto his bed again. Guilty daydreams that filled his head as he walked home from class most days. He almost didn’t notice it was actually there this time. A jolt of excitement raced through him as he realized the truth. Locking the door behind him, he checked the time before jumping face first into the jersey resting innocently on his pillow. The scent filled his nose and he nuzzled his face into it as he let it consume him. Fuck, how did Dream manage to smell so good. The scent had an aphrodisiac effect on Sapnap and when he finally pulled his shorts off and reached his hand down into his boxers, his cock was already rock hard with pre-come starting to bead on his tip. He hadn’t even been grinding down into the sheets. This was just a reaction to smelling his best friend and being reminded of the best orgasm he had ever had.
Soon enough Sapnap wrapped his hand around his cock, fucking quickly into his fist and whimpering at the rough slide. He let himself get lost in thought as more pre-come came to the tip. He imagined Dream coming home early and catching him, making fun of him for how wet he was just from the smell of Dream. Dream would be rough but kind, manhandling Sapnap around and teasing him. Sapnap rolled over, groaning as he imagined Dream flipping him over to match his fantasy. With his free hand he pulled the jersey over his face, letting the fabric surround him before letting his hand slide down his body. He paused his movement at his chest, giving in to the temptation to squeeze his pecs. He imagined Dream hovering over him, giving his chest a tight squeeze at the thought before moving to roll his nipple between his fingers. Fuck, it felt so good. Dream in his head had leaned down to suck on his chest, gently nipping at the soft skin. Sapnap gasped, arching his back up as he pinched his nipple. Once he had gotten his fill of his chest, he let his hand trail down to his hips, running his hand along his tummy and around his hip until he was cupping his own ass. He tightened his hold on his cock and used his other hand to push his hips into his fist faster, imagining Dream making him fuck his own hand. Fuck that was hot. He moaned at the idea and his cock twitched, even more pre-come dripping out. Fuck, fuck, fuck, he was about to cum. He kept pumping his cock, letting his thumb brush over the tip every once in a while as he let his other hand trail towards his asshole. He didn’t have any lube out, so he just played with his rim, the sensation making his hips jolt even more into his hand.
“Please, please, please,” he begged quietly, letting the scent of pine and sex and Dream fill his senses. After a few more thrusts he came, swearing as he caught his breath.
He could feel the rough fabric of the jersey shifting against him with each deep breath, the scent still filling his brain and making him feel like mush. Eventually he calmed down and came back to his senses. As he became more aware, the Dream from his head faded away until all he was left with was the scent of the jersey, the uncomfortable feeling of cum drying on his stomach, and the mild guilt at what he had just done.
Sapnap tried to be normal about it all. He still hung out with Dream like always. Chatting, playing video games, teasing, and rough housing like normal. Except, well… he got lost in his head sometimes. Staring at Dream for too long, leaning into Dream’s hand when he went to ruffle Sapnap’s hair. Holding onto the hugs for too long. He just wanted to be close to him all the time.
Sapnap got back from class to find Dream’s jersey once again thrown onto his bed. He was seriously wondering how Dream kept doing that. To be fair, he hadn’t said anything about it since the first time, but seriously, how hard was it to keep your clothes on your own side? Then again, it’s not like Sapnap really minded. He had been hoping that it would be there today because he wanted to try something different.
He knew he would have a lot of time before Dream was due back so he took his time laying everything out before he let himself indulge. He carefully laid a towel out on the bed, grabbing his lube and laying it out too before finally letting himself go. He flopped onto the bed, grabbing the jersey and holding it up to his face, letting his mind get lost in the fantasy again. He lubed up his fingers and carefully started working them in one at a time. He imagined Dream hovering over him, carefully fingering him open after winning a home game. Dream would be so excited, trying to stretch him quickly. Sapnap added another finger a bit early and groaned at the burn of the stretch. It felt so good. Dream would be marking Sapnap up possessively, leaving red marks all along the column of Sapnap’s neck, over his chest, and down to his hips. Sapnap traced the path of Dream’s imagined mouth with his hand, the jersey still wound around it. The feeling of the rough mesh running along his body made him shiver as he added another finger, keening at the full feeling. Sapnap bucked his hips up as he finally brushed against his prostate before grinding back down and trying to hit it again. He whimpered as he fucked himself, pretending that Dream’s long fingers were in him instead. Fuck, that would be so much better. He felt his cock twitch as he thought about how much deeper Dream could go.
In an act of desperation, he grabbed his cock with the hand still wrapped in the jersey, bucking his hips up and down as he followed his pleasure. The rough drag of the mesh on his cock, the consistent prodding of his fingers against his prostate, it was all so much. Sapnap moaned as the image in his head was once again replaced with the idea of Dream walking in on him like this. What would Dream do? How would he react? Would he tease Sapnap about it? Call him a little slut? Or would he be kind and gentle, taking over for Sapnap’s cramping wrist and filling him so much better than Sapnap could ever manage. Would he be mad at him for getting cum on his jersey? Or would he just be turned on by the idea? His thoughts swirled around his head as he kept chasing the pleasure and soon enough Sapnap worked himself up so much with his thoughts of Dream that he couldn’t hold back anymore, and he came with Dream’s name spilling from his lips as his cum spilled onto Dream’s jersey.
It didn’t immediately hit him, what he had just done. He laid on the bed, fingers still holding him open as he caught his breath. Soon enough he came down from the high, slowly pulling his fingers out as he opened his eyes and focused back on real life. He felt his hole twitch as it searched for that missing pressure. And then it hit him. As he removed his hand from his still twitching cock and looked at the jersey he had just came into.
Fuck.
Fuck, fuck, fuck.
He had to wash it and make sure there was no sign of his cum before Dream came home. Sapnap sat up in a panic and checked the time. If he rushed he could probably have it dry before Dream came home.
Now started Sapnap’s mission. He quickly wiped himself down with some of the wet wipes he had taken to storing in his bedside table, doing his best to stop any more cum from getting on the jersey. Then came the part he was dreading. He unfolded the jersey to see what kind of damage he had done and was unpleasantly surprised. He didn’t know if he just hadn’t jerked off in a while, if he was just that turned on, or if it was the combo of prostate and dick stimulation, but the jersey was covered. He needed to get this washed out immediately. He carefully folded the jersey up so that all of the cum was on the inside and then tossed it on top of his laundry basket to head down to the communal laundry area, praying that no one would be using it right now. He did not want to explain why he needed to pre-wash his roommate's jersey.
Thankfully the laundry room was empty, save one person who was just on their way out. Sapnap gave them a wave and hoped that he didn’t look as guilty as he felt. He quickly made his way over to the big sinks and grabbed the jersey out of the laundry basket and ran it under some lukewarm water, trying his best to wash it off. Then he poured in a little laundry soap and rubbed at it with his hands, scrubbing the fabric as best as he could, sighing thankfully when it looked like the stains were completely gone. He kept going even after he could see no trace of his cum just in case. Then he squeezed some of the water out and plopped the wet jersey onto his clothes in the basket, making his way over to a washer. He piled the clothes into the washer and set it for a cold wash, hoping that it would get rid of any lasting cum he had missed, and left to head up to their floor for a shower.
Dream barged into the room, beelining to his bed and flopping down on his comforter, letting out a groan as he relaxed into his bed a few minutes after Sapnap had gotten back from moving the laundry into the dryer.
“Hard day?” Sapnap asked, trying to act normal.
Dream sighed, “Coach made us run lines because some of the guys got mouthy,” Dream complained, “I swear my undershirt was like soaked through, I should probably wash my jersey too because there’s no way it didn’t get gross,” Dream huffed, annoyed before turning onto his side and scanning the room for his clothes.
Sapnap felt his heart rate pick up. Fuck, the jersey was still in the drier. How the fuck would he explain why it was there?
Dream finished scanning the room and looked at Sapnap suspiciously, “Dude, did you take my jersey?”
Sapnap’s mind raced with excuses before the first acceptable one he could think of came tumbling out of his mouth, “Well, if you hadn’t thrown it onto my bed it would still be here,” he said, hoping that the blush rising on his cheeks wasn’t too noticeable.
“What did you do to my jersey, Sapnap?” Dream asked, eyes darkening.
Fuck, Dream looked so hot when he was mad. Sapnap felt his breath catch in his throat.
Dream took a deep breath and closed his eyes, gently shaking his head as if to clear it, before looking back at Sapnap with a much calmer expression, “Look, I’m sorry it was on your bed, I should be more careful about where my stuff ends up. Please tell me you didn’t fucking tear it up or something though?” Dream asked desperately.
Fuck, he looked hot like that too… well, Dream kind of looked hot no matter what he was doing, so that stood to reason.
“No, I did not tear up your jersey , asshole. I just, um, I didn’t realize it was on my bed and I was… eating a snack and I spilled some food on it. I didn’t want it to stain so I took it and did my laundry. It should be out of the dryer in like… 20 minutes,” Sapnap said, checking the time.
Sapnap watched as relief filled Dream’s face, “Oh Sapnap, you do love me!” Dream joked out, launching himself off of his bed and over to Sapnap’s, wrestling him into a hug.
Sapnap laughed, trying to catch his breath and be normal about the fact that Dream was pressing his full body weight into him, “I sure do,” Sapnap replied in what was hopefully a sarcastic tone, patting Dream on the back and trying not to relax too much into the cuddling, “Now get off me dude, I can’t breathe,” Sapnap half-lied, gently pushing at Dream’s shoulders. The truth was that Sapnap could breathe fine, but Dream being so close was making him a little nervous. What if Sapnap didn’t clean up that well and there was a random cum stain on his bed? Had he put his lube away? Did he shower well enough or did he still smell like the sweat that was on Dream’s jersey?
Dream stayed defiantly on Sapnap, “You can breathe fine, I just want some homie cuddles. Come on, I had a hard day,” Dream said, pouting and making himself more comfortable on top of Sapnap, refusing to move.
Fuck Dream and his big green eyes and his adorable pouty face, “Alright fine,” Sapnap conceded, trying to sound put out by the decision, but really he was ecstatic, “We do have to get up when my timer goes off though because I don’t want some dipshit freshman moving my clothes out of the dryer and throwing them on the floor,” he finished off, wrapping his arms around Dream and bringing one of his hands up to run through Dream’s hair.
Dream sighed, relaxing further into Sapnap’s chest, “That’s fine by me,” He mumbled out, letting his eyes slip closed, “Just wake me up when you have to go,” he finished quietly before falling immediately to sleep.
Sapnap stared down at his friend in adoration. He must have been so incredibly tired to fall asleep that quickly. Sapnap kept running his hand through Dream’s hair, soaking in the comfort of being with his friend. It also felt really good to not be alone after his fairly intense afternoon. Dream mumbled in his sleep, nuzzling into Sapnap’s chest and he felt his heart squeeze at the sight. Fuck, he really loved Dream.
After the… laundry incident, Sapnap decided to do something completely deranged. He ordered a fleshlight to reduce the level of clean up and a butt plug because, well… he wanted one. Thank god for discreet packaging, because picking those up from the front desk had been hard enough, but if they had known what it was he had? Sapnap would have simply passed the fuck out.
Unfortunately for him, the jersey scare must have freaked Dream out quite a lot because for some reason he was being super careful with where he threw his clothes. The jersey had not ended up on Sapnap’s bed once in the past few weeks. In fact, it hadn’t even been on the floor of their room. Sapnap felt like he was going crazy. He had actually briefly contemplated going over to Dream’s dirty laundry bin a few times but, for some reason, that was where his brain drew the line.
It felt like Dream was teasing him. Every time Dream came home from class he was touching Sapnap in some way. If Sapnap was working on an assignment, Dream was running his hands through Sapnap’s hair or wrapping himself around the back of the office chair to give him a hug. If Sapnap was standing Dream would wrap him in a tight hug and hold Sapnap until he decided it was long enough. Or, Sapnap’s favourite, if Sapnap was laying on his bed Dream would full body flop on top of him and act like a weighted blanket. Sapnap took full advantage of these things, revelling in the comfort of being surrounded by Dream.
But, finally, the day came. The jersey was on his bed again. And Sapnap was extra lucky because today was the day he had decided to wear his butt plug all day, knowing Dream would be at class when Sapnap got home so he could jerk off. The jersey on his bed was just an extra surprise on the top of his cake. He clenched around the butt plug excitedly and then gave himself permission to do probably the most fucked up thing he'd ever do. First he laid out a towel on his bed, this was probably going to get messy, then he pulled Dream’s jersey over one of his pillows. Next he pulled the fleshlight out of the drawer he had hid it in and, with bright red cheeks, placed it in the pillowcase so he could fuck it and hold Dream’s jersey at the same time. He glanced around nervously, as if to double check that he was alone, even though he knew he was, but he was too far gone already. He grabbed his lube, dripping some onto his cock and watching as it twitched both at the feeling of the cold lube and also in excitement of what was to come. He carefully pumped himself to full hardness and then wiped his hand on the towel before carefully wrapping himself around the pillow with Dream's jersey and inserting himself into the fleshlight. He started slowly, moaning into the pillow as he got used to the tight grip of the fleshlight. He sped up his thrusts as he got more excited, losing himself in the intoxicating taboo feeling. It felt like it was all connected and he lost himself in the idea of fucking Dream while the butt plug bumped against his prostate. He tried his best to muffle his sounds in
Dream’s shoulder
the pillow, but his fantasy had taken full control of his body. He couldn’t hold back his moans, his pleading, his whispers of Dream’s name. It just felt so good. He was so lost in the pleasure that he didn't even notice when Dream walked in.
Dream had noticed that something was going on with Sapnap. Originally he couldn’t pinpoint what it was about Sapnap’s behaviour that was so different, but as he observed some more it became clear.
First, was the staring. He didn’t realize how often it was happening until it felt like every time he took a quick break from his school work or his readings or playing minecraft, Sapnap was watching him. Of course Sapnap would look away as soon as Dream looked towards him, but Dream could tell that he was watching. The next thing he noticed was the touching. They had always been more physically affectionate than most roommates. Hugs, wrestling, and cuddling while watching movies were all common occurrences for them. The difference was that Sapnap would lean into him more, initiate contact more, and practically refuse to let Dream go if he could. The next piece of the puzzle was that Sapnap kept smelling him. It wasn’t as weird as it sounded though, or maybe Dream just didn’t think it was that weird, but every time they were close to each other, Sapnap would sniff him. He figured it was probably a comfort thing? Like associating Dream with being safe and his smell and stuff? Honestly he really wasn’t sure. The final piece that made everything click into place was his jersey.
Sapnap could not keep his eyes off of Dream when he was in his jersey. His eyes would go so wide and his pupils would expand until Dream couldn’t see any of the green. Basically, it always looked like Sapnap wanted to eat him when he was in the jersey. And then there was the fact that every time Dream left his jersey out after practice Sapnap’s oddities would get more noticeable.
Dream had already suspected what was going on but, when he had come home to his jersey in the wash, there was no other explanation he could think of. Sapnap had said that he spilled a snack on it but Dream did not believe that for one second. Firstly, there were no dishes in their room showing no proof that a snack had been consumed. Secondly, none of the snacks that they had could have made a mess so bad that the jersey would need to be washed. At most it might have gotten some crumbs on it, but that would not have made a stain. And thirdly, if what was on Dream’s jersey was truly some food Sapnap had spilled, Sapnap would have left it for Dream to clean up as a consequence of his action for throwing his jersey on Sapnap’s bed in the first place.
All of this added up in Dream’s head and the answer became clear to him. Sapnap definitely had at least a crush on Dream and part of it was related to Dream’s jersey in some way. But in what way, exactly? Dream was determined to figure out what happened when he left his jersey on Sapnap’s bed, so he made a plan. He paid attention to Sapnap’s class schedule and his assignments, waiting for the best time to strike. A day when Dream would be able to come home early and catch him. It took longer than he wanted it to, but soon enough the perfect day became clear. A day when Dream had morning football practice and when his normally scheduled three hour class was cancelled. What could be better?
Dream watched Sapnap as the days lead up to his perfect day. Sapnap was getting antsy, he kept glancing at Dream like there was something he wanted. Anytime Dream changed in front of him, he could feel Sapnap’s eyes burning into them (and if he maybe took a little extra time to pick a shirt, no he didn’t). On top of that, Sapnap had just gotten a couple of unmarked packages the other day. Packages that he had refused to elaborate on what the contents were and that increased his odd behaviours (they were so obviously sex toys). When the day finally came, Dream set his trap, purposefully throwing his jersey onto Sapnap’s bed, right on his pillow. Dream shook his hands out excitedly before leaving the room to give some time for Sapnap to fall into it. He didn’t really know what to expect, but he couldn’t wait to find out.
Dream froze at the image in front of him. Holy shit, Sapnap was fucking his jersey. Why was that so hot? He knew something was going on with his jersey but somehow in his wildest dreams he hadn’t thought it would be quite like this. Dream watched in awe as Sapnap thrusted into the pillow he had stuffed into Dream’s jersey. He probably should be mad or like… mildly upset about the breach of privacy, but how could he be when such delicious sounds were filling the air. The slick sound Dream now realized must be from Sapnap fucking into something Dream couldn’t see, desperate whimpers and begging falling from his mouth, his hands gripping the pillow tightly and his face buried in the jersey, eyes closed in ecstasy as his hips kept moving.
It was the most beautiful, horny thing Dream had ever seen. He felt himself getting harder and harder as he watched Sapnap get lost in his fantasies. Fuck it was so hot.
“Dream,” Sapnap whimpered out, pulling out a bit farther than he had been before and Dream caught sight of a little green gem on the end of a butt plug just barely visible nestled in Sapnap’s thick ass and he lost his mind. With very little thought to his actions, Dream pounced on Sapnap, taking mild joy in the squeal Sapnap let out before flipping him onto his back so Dream could see him. Dream stared at him lustfully and took in the whole image.
Sapnap was stunned and silent. He looked mildly panicked and seemed to be begging for forgiveness with his eyes, but his dick was twitching so violently that Dream knew the fact that he caught him just turned him on more.
“Dream I-” Sapnap started once he seemed to catch up with what was happening.
“You don't need to apologize, baby,” Dream said, sitting himself on Sapnap’s thighs, avoiding his dick for now, and leaning forward to put his face in Sapnap’s neck, “I saw the way you looked at me,” he said as he mouthed his way up Sapnap’s neck, feeling his pulse beating rapidly, “I want this too, I promise,” he whispered into Sapnap’s ear before gently running his finger up Sapnap’s cock, listening to him whine as he ran the finger all the way back down his shaft, over the seam on his ball sack, and down even further until he touched the gem on the end of the plug, “Do you want me to help you with this?” Dream asked, punctuating his question by pushing in on the butt plug.
Sapnap moaned loudly, “Holy shit, yes. Please! More than anything. Please, Dream!” Sapnap begged, twisting his hips around and searching for some friction nearly bucking Dream off with his movement.
Dream grinned and shot into action, maneuvering himself off of Sapnap’s lap and between his thighs before grabbing the lube from the towel and gently pulling Sapnap’s plug out. He lubed his fingers up and checked that Sapnap was stretched enough, pressing against his prostate and making him squirm. Dream grinned down at Sapnap, finally letting himself bring their lips together in a kiss before pulling his fingers out of him and making Sapnap whine.
“I know baby, but I’ve got something better, don’t you think?” Dream asked teasingly as he pulled his dick out of his sweats.
Sapnap’s eyes snapped to Dream’s dick, watching with wide, lust-filled eyes as Dream quickly lubed himself up with what was left on his hand before wiping it on the towel underneath him. Sapnap nodded slowly, unable to keep his eyes off of Dream, “Holy shit I want you so bad,” Sapnap whined, reaching out to touch. Dream stopped him before he could get too close, grabbing Sapnap’s hand and pulling it up to his mouth to give it a kiss. He watched with a grin as Sapnap blushed and tried to hide his face.
“Oh, come on now. I want to see you, baby. Want to watch your face when you see how good the real thing is,” Dream said quietly as he lined himself up, “Are you sure you want this, baby?” Dream asked once more, practically whispering into Sapnap’s ear and resisting the urge to lick him.
“Yes. Please, yes . I’m sure. I want this more than anything,” Sapnap gasped out trying to pull Dream closer to him.
Dream groaned, giving in to his desires and bringing his face down to Sapnap’s neck, licking his pulse point before latching on to leave a hickey. Sapnap shuddered at the feeling and Dream took that as his cue, carefully pressing himself into Sapnap, stifling a groan as he felt Sapnap’s walls practically pulling him in, “Holy shit you feel so good, baby,” Dream mumbled against Sapnap’s neck as he kept pushing in.
“Fuck, Dream. More, please, keep going,” Sapnap begged, gasping as Dream finished pushing in, their hips finally touching.
Dream let Sapnap adjust to the stretch, bringing his face out from his neck and capturing his lips in a passionate kiss. Soon enough Sapnap started squirming, trying to get more from Dream without having to stop kissing him. Fuck, Sapnap was so adorable.
“You ready for more, baby?” Dream asked, pulling back from Sapnap and holding his hips still.
Sapnap whined, trying to break out of Dream’s hold but it was no use, “Yes, I’m ready for more, you asshole. Please fuck me. Please, please, plea- AH!” Dream cut off Sapnap’s begging by fucking into him, hard and fast, just the way he wanted it.
Each thrust was punctuated by Sapnap’s moans and Dream couldn’t help but get lost in the sound and the feeling of him. It was amazing. Dream himself couldn’t hold back his own sounds of pleasure as Sapnap’s slick, warm heat surrounded him.
“Holy fuck baby, you feel so good. You’re being so good for me, sound so good, holy shit baby, fuck. Taking me so well, Sap. Oh my god,” Dream muttered out praise, saying anything and everything that came to his mind, trying to make sure Sapnap knew how good he was making Dream feel.
Sapnap whined at Dream’s praise, burying his face in Dream’s neck to try and stifle his sounds. Dream was just about to tell him to stop hiding so that he could hear him when Sapnap started sucking marks onto Dream’s neck, placating Dream with the idea of people knowing who he belongs to. And then Sapnap started sniffing Dream’s neck and nuzzling in as his whines got louder. Sapnap rubbed his face against Dream’s chest and then let out an annoyed sound before grabbing Dream’s shirt to take it off. Dream obliged, pulling back slightly to help Sapnap get it over his head. Sapnap opened his eyes, taking in the sight of Dream fucking into him before holding the shirt up to his face and smelling it. Dream’s thrusts slowed down while he watched as Sapnap’s eyes rolled back as he took in Dream’s scent.
“Fuck, you smell so good,” Sapnap groaned out before throwing the shirt off to the side and leaning up to wrap himself around Dream more fully. Dream was honestly expecting Sapnap to go in for another sniff but then he was abruptly flipped over. He groaned as he adjusted to the new position. Sapnap was sitting on Dream’s cock, making little grinding motions with his hips and it was the hottest fucking thing Dream had every seen. Sapnap’s dick bounced with his motions and Dream just wanted to lick it. And also possibly have it in him. But that was for another time. Sapnap leaned forward, quickly catching Dream’s lips before kissing his way down Dream’s jaw and back into his neck, once again burying himself as much into Dream's scent as he could.
Dream leaned his head to the side to give Sapnap access to more of his neck, “Yeah, you like that baby? You like how I smell? Aren't you just such a good slut for me?” Dream asked. Holy fuck this was so hot.
Sapnap whined, fucking himself back harder on Dream’s dick.
“Is that okay baby? Are you doing alright?” Dream asked, checking in.
Sapnap nodded and buried his face further. For a second Dream thought it was just because Sapnap wanted to be as close to him as possible, but then he realized that Sapnap was actually leaning into the jersey that was still wrapped around the pillow behind Dream. The scent of the jersey and Dream combining must have been what Sapnap was searching for. Dream moans at the idea and Sapnap rides him faster, grinding his hips down on Dream with every bounce.
“Fuck! I’m gonna come. Dream, touch me? Touch me please? Please, please, please,” Sapnap begged desperately.
Dream smirked against Sapnap’s neck, one hand running up and down Sapnap’s body while his other hand searched blindly behind him for the fleshlight that Sapnap must have been fucking when Dream walked in. Suddenly, Dream’s hand gripped it and he pushed Sapnap up to sit with his other hand. Sapnap opened his mouth to complain and before he could get a sound out, Dream pushed the fleshlight onto Sapnaps cock and pumped it as fast as he could. A loud yell of Dream’s name came from Sapnap’s already open mouth and soon enough he came loudly, moaning as he clenched tightly around Dream. Dream came as Sapnap tightened around him, Sapnap’s name falling from his lips. They stayed there for a moment, occasionally twitching, and basking in the afterglow while they caught their breath.
Dream gently ran his fingers up and down Sapnap’s back, feeling the way he melted under his touch. Sapnap in turn nuzzled his cheek into Dream’s chest, bringing one of his hands up to run his fingers through Dream’s curls. Dream sighed, leaning further into Sapnap’s hand. This was so nice. It was probably the best sex Dream had ever had and now he gets to hold Sapnap close and take care of him. Dream briefly paused his hands’ motions and squeezed Sapnap closer to him, placing a gentle kiss on Sapnap’s forehead.
Dream felt it as Sapnap smiled against his chest, snuggling in further before placing his own kiss in Dream’s chest hair, “Mmmm. Can I fuck you next time?” Sapnap asked sweetly. So sweetly, in fact, that Dream didn’t even really pick up on what he said for a moment.
When it finally clicked, Dream let out a snort, kissing Sapnap on his head once more, “Hmm. That depends, can I call you my boyfriend?” he asked, bringing his hand up to play with the curls on the back of Sapnap’s head.
“Fuck yes!” Sapnap said excitedly, pulling himself up slightly so that he could kiss Dream on the lips. They kissed for a little while, nothing too heated, before Sapnap pulled away again, wincing slightly as he sat further onto Dream’s semi-hard dick, “Now, can you clean me up please? You came in me,” Sapnap said, his nose scrunching as some of the cum dripped out of him and down onto Dream.
Dream laughed and reached over to the night stand, careful to not pull out yet, and grabbed some tissues. He did his best to wipe Sapnap off, letting the fleshlight and the dirty tissues fall onto the towel under him. Once he felt like Sapnap’s outside was mostly clean, he moved to pull out, only for Sapnap to whine, clenching down around Dream.
“Sapnap, baby, you are the one who asked to be cleaned up. I can’t do that if you don’t let me out,” Dream said gently, running his hands up and down Sapnap’s arms as Sapnap pouted at him.
“I know, I just… I don’t want to be empty,” Sapnap said quietly.
Dream’s dick gave a valiant twitch at that, but he was done for today, “Alright baby, I’ve got an idea,” Dream searched around blindly for the butt plug, holding it up once his hand made contact with it, “Tada! Now you’ve just got to be empty for a little, okay?” Dream asked softly.
Sapnap nodded and Dream took that as his cue to pull out. Sapnap whined again at the loss of being full, twitching around Dream as he pulled out. Once he was off, Dream swiftly put the plug back in him, watching in awe as he relaxed back down onto Dream.
“Come on baby, we have to go shower and then we can sleep in my bed tonight,” Dream said, once again running his hands up and down Sapnap’s back.
“I’m too fucked out to move, you have to carry me,” Sapnap complained, flopping down onto Dream’s chest and refusing to move.
Dream laughed quietly before gently rolling Sapnap off of him to get him dressed so they could head to the showers. And if Sapnap let out a little squeal when Dream picked him up to carry him, then Dream wasn’t gonna say anything about it. At least not until he could get Sapnap to make that sound in a different context.
Sapnap laid in Dream’s bed, tucked up in Dream’s chest, smelling like Dream’s soap and wearing Dream’s clothes. He still felt a little achy, he still missed the feeling of being full (Dream had taken the butt plug out in the shower and refused to put it back… Sapnap knew it was for the best but still…), and he knew they still had some things to talk about before their relationship could really take off but, for right now, Sapnap was happy. He was very happy. And there was very little that anyone could do right now that would make him even happier. Except, well… Sapnap reached up and grabbed Dream’s hand, manually moving it so Dream would get the memo to give him back scratches.
Dream quickly got the memo and squeezed him tight for a moment, letting out a quiet laugh, “You are so adorable, baby,” Dream muttered out into Sapnap’s hair before continuing to run his hand up and down Sapnap’s back. There. That was perfect.
