Work Header

I might know my heart

Chapter Text

[onboard the Malta, Lumina Port, The Steel Ring, Resh District]


Someone was watching him.

Instinct and training kicked in immediately, even before his mind was fully awake, so Cassian didn’t tense his body or jerk his head up to search for the threat. Instead, he drew in a long, slow breath and peered through his eyelashes. He was in his compact cabin onboard the Malta, an old Nestt light freighter he’d been assigned for this operation. He lay on his side in his narrow bunk, facing the screens from the security feeds placed around the ship that flickered in the dim light of the cabin. Still tired and sluggish from the long trip, and unaccountably warm and comfortable, Cassian scanned the screens without moving.

The dual skylines of the Ring of Kafrene glowered at him in the oppressive sallow light of Kafrene’s day cycle from all five security feeds, particularly the topside footage. The Malta sat on the “Resh” half of the station, which meant that the “Osk” half appeared to be looming upside down over the ship. An Alliance operative that Cassian worked with years ago had once told him that the two mirrored halves of the mining station looked like two people reaching longingly for one another, the tall blackstone buildings stretching out across the gap as if to touch. Cassian wasn’t enough of a romantic to agree. In the topside security feed, it just looked like an inverted city crushing down on him, dark, jagged, murderous.

Instinctively, Cassian curled a little further back from the screens, into the warmth of –

He slammed fully awake, his body going rigid and his breath catching, instinct and training forgotten as he suddenly realized who was watching him.

“I woke you up,” Jyn said softly against the back of his neck, her arm pulling away from his ribs and her leg sliding off his hip apologetically.

Cassian’s hand jerked, the urge to reach back and catch her knee almost overpowering his conscious control. He bit down on the impulse and took a deep breath, forcing his muscles to relax, his spiking heartrate to slow down. “It’s fine,” he managed through a suddenly dry throat - woefully inadequate words, not at all what he was thinking. But his heart was jackhammering in his chest, his temperature spiking. How could he explain the mess of thoughts and emotional reactions she triggered in him? I can’t believe I didn’t even notice you touching me. No one has ever slipped so completely under my guard and it terrifies me. You feel unbelievably good and I am almost desperate for you to keep touching me.

Hm, no, definitely not that last one.

A month, he thought with a faint edge of astonishment and even a little guilt. She had been his…his partner for a solid month, and he was simultaneously already used to her presence and still constantly surprised by it.

She was pulling away, wiggling her arm out from between his shoulder and the pillow, letting a cool rush of air flood against his back as she withdrew. “Sorry,” she muttered, kicking off the blanket he had draped over them a few hours earlier, when the exhaustion and stress of dealing with Kafrene’s notoriously complex landing bureaucracy had finally caught up to them both and they had collapsed in the little cabin together. She was careful, though, to shove the edge of the blanket back around him as she moved, and Cassian would have smiled at Jyn tucking him in if he wasn’t still caught up in the shock of waking up to her. Her nails scraped awkwardly against his shoulder blade as she did it, sending a small jolt through his nerves – a reminder that she was no more used to having a partner than he was. They had, after all, only been together a month (plus the days they had spent in Jedha, dodging the Imperial invasion and struggling just to talk to one another, but Cassian wasn’t entirely sure he was allowed to count that, or that he should).

She understood him better than anyone else in his life ever had, but they were both still so…what was the right word? Sensitive. Uncertain. Fragile? Cassian suddenly recalled the heavy crashing sound of the ninety-kilo Shistavanen hitting the old warehouse floor on Jedha, when Jyn had flipped the huge recruit casually over her hip and smashed her into the dirt. Perhaps fragile was not the correct word, then.

It didn’t matter, he realized suddenly as Jyn’s weight shifted to push herself upright, probably calculating how she could jump over him and leave the room. It didn’t matter if they were still sensitive or awkward or just the most ridiculous two organics to ever attempt whatever-the-hells-this-relationship-was. He could ponder it later, when she wasn’t three seconds from stalking out the door under the mistaken impression that he didn’t want her with him. Cassian flipped onto his back just as she tensed to vault over his legs and set his hand against her hip. He miscalculated the move slightly, and his hand unintentionally slipped under her thin undershirt to brush against the warm strip of skin just above the waistline of her trousers. Jyn froze as his fingers grazed against her, and Cassian jerked away again as if he’d been burned. He closed his eyes as a rush of irritation and embarrassment swept through him – he was a fully grown adult, and this was hardly the first time he had ever touched her. Granted, he’d never had anyone like Jyn Erso in his life, but he was behaving even more nervous and unstable than the first night they had met, the first night she had leaned up to kiss him and ended up dramatically reordering his world.

 “Cassian,” Jyn whispered, and Cassian opened his eyes again and looked up at her, kneeling next to him in the tight space between his thigh and the bulkhead. “Do you want - ?” She paused, grimaced, shook her head. He waited one breath, two breaths, three, and then carefully, mindfully, reached out to set his fingers against her hip again.

Yes, he thought, but his mouth felt wired shut, useless.

Jyn sighed, and then leaned down and pressed her forehead to his. Cassian’s breath caught, his fingers curled tight around her hip, his other hand gripping the blanket still tucked around his chest. “We’re shite at this,” she murmured, and his mouth curved slightly in helpless humor. Yes, yes they were, but she had stayed when he had nothing to offer her, he had come back for her when she thought he should have run. And then Mothma had formally announced that Sergeant Jyn Erso would be his partner in the search for Galen Erso and the Empire’s mysterious new lust for kyber and she…she had stayed again.

More than stayed, actually. He remembered the swooping sensation in his gut when he opened the door to his quarters and found her standing there. He recalled with perfect clarity how the world had gone quiet and warm when she slid her hand around the back of his neck and kissed him like a question (I think I might love you he had answered, because he did.)

The sense memory of Jyn’s arms around his shoulders combined with the warmth of her breath on his cheek ignited a spark somewhere inside him, making his skin feel flushed, his hands restless. Slowly, in case she wanted to move away, Cassian dragged his palm up her side and curled his fingers around the back of her neck. She hummed low in her throat, but didn’t move. There was so much he wanted to say - I like you here, I like being able to sleep when you are close, you know some of my worst secrets and you stay anyway, I want you to climb on top of me and kiss me senseless, I want to touch you too  – but the words stuck in his throat.

His heart beating too fast to be nonchalant, Cassian tilted his head to the side, just enough to lean up and press a feather-light kiss against the corner of her mouth. To his relief, she responded immediately, turning to fit more perfectly against him. Her lips were just a little chapped, her weight positioned awkwardly above him, but it felt warm and real and most of all, welcoming. She scraped her teeth lightly against his lower lip and he opened his mouth obligingly, smiling as she hummed in approval. She tasted faintly of the strong black tea she had made in the small ship’s galley a few hours before, and she smelled of gun oil and steel. Cassian ran his hand down her side again, and felt the raised edges of the large scar across her ribs through the thin fabric of her shirt. His fingers itched to slip under the cloth and trace the mark directly, but Jyn shifted her weight again, bracing her elbow on the pillow beside his head. The move brought her chest closer to his, her breasts brushing lightly against him, and he promptly lost his train of thought.

Cassian ignored the tiny flashing light in the corner of the security feeds that told him it was past time he should be up and working, ignored the voice in the back of his head reminding him that he was an operative on a mission that might have dire consequences for the war. He knew, he knew, but for now, just for a moment, he let himself relax into the soft feeling of kissing Jyn like he had all day to do it. He let himself enjoy the gift of a few minutes peace. Just breathe, Andor, just breathe, and accept what you are given.

And then she ran her free hand down his chest, dragging a line of warmth along his stomach. She moved to brace her hand against his hip, but the change in position made her weight shift a little on the mattress, and her hand moved a little further inward than she probably intended. Cassian jerked, gasping against her mouth at the sudden friction, and Jyn pulled back in clear surprise at finding him already hard against her fingers. They stared at one another for a moment, and Cassian felt his face flush as Jyn bent her head and cautiously ran her hand back down again, brushing her palm torturously lightly against his erection. “Why didn’t you say - ?”

He opened his mouth, but before he could come up with any coherent answer, she squeezed gently around him, and all that came out of his mouth was a shaky exhale. He realized that his hand was flexing tightly around the nape of her neck, his fingertips digging hard into her muscles, and he forced his grip to relax. “Is this,” Jyn frowned a little, and drew her hand back. Cassian was embarrassed to feel his hips jerk again, an involuntary protest to the loss of her touch. “Is this okay?” She asked softly, and Cassian almost choked on a laugh.

“Yeah,” he said, unclenching his fist from the blanket against his chest and reaching up to stroke her cheek, hoping she didn’t notice the tiny tremor in his fingers. “It’s…good, Jyn.”

He winced at his clunky word choice, but the worried lines around Jyn’s eyes smoothed immediately, so he decided it was worth it. She smiled, and on her face the sallow light of Kafrene’s day cycle turned golden and warm. “We have,” she glanced up at the security feeds, her eyes tracking to the corner where the chrono blinked at them, “a little time.”

Her voice was even and confident, but she looked down and away from his face when she said it. She knew as well as he did that they had a fiendishly difficult task, tracking the kyber crystals in which the Empire had developed a sudden and violent interest - and Force only knew how little time to accomplish it, so every minute was precious. They needed to get up, needed to start tracing the few, scattered references and rumors they had before all their fragile leads vanished into dust.

Jyn let her hand come to rest on his hip again and ran her thumb in small, gentle circles along the crease of his thigh, and smiled a quiet, knowing grin as he twitched in response. She tilted her head and arched against his hand, sighing when he caressed her neck tentatively.

On the other hand, he reasoned, they had what would probably be a brutally long day ahead of them, full of frustration and dead ends, and of course, the perpetual danger of walking around a heavily-patrolled Imperial ecumenopolis. They needed to be sharp, prepared for both the mental and physical strain of their work.

Jyn swung her leg over his hips and cupped both her palms around his jaw, her fingers curling back into his hair. “I want - ” She leaned down and pressed her forehead to his again, whispering her confession against his cheek. “Can we have just a little time?”

Someday, Cassian thought from within the golden haze rapidly filling his mind, he was going to be brave like that. He settled both hands on her hips and tugged lightly, swallowing back another groan as she immediately rolled her hips and grinned in response. Cassian tugged at the hem of her shirt, tracing his fingertips along the skin of her lower back, whisper-soft and questioning.

“Yes,” she murmured against his jaw, and he slipped his hands under the hem to push the fabric up her back. He paused at her shoulders, savoring the feel of her muscles shifting under his palms. Jyn sat up (sending a wave of pure blue pleasure crashing through his body), and impatiently yanked the shirt over her head and tossed it to the floor. She pulled off her reinforced combat bra next, but before Cassian could fully appreciate the sight of her newly bared upper body, she surged back down and tilted his face up with her hands, kissing him hard and smiling against his mouth as he wrapped his arms around her waist and pulled her in closer.

His own clothing felt too thick and coarse against him now; he wanted them gone, wanted to be rid of the last barriers between his skin and hers. He should…he should ask her to sit up, help him strip them away. Jyn stretched her body along his, her warmth and weight pressing him down into the mattress, and Cassian closed his eyes and decided that this was good, too. This was…he already had so much. A month ago, six months ago, just having someone this close to him would have been little more than a fantasy, a bright dream that he would have smothered in the shadows of his head just to survive it. Jyn scraped her fingers over his scalp, down his neck, and dug them into his shoulders to balance herself over him and it was enough. No, it was more than enough. He didn’t have the words, didn’t have anything that could describe what it felt like to have her kiss his throat and hum in quiet approval when he ran his hands up and down her back in response. He would never have the words to explain why his breath hitched and his mind went as golden and indistinct as the light in their cabin when she wrapped herself around him and sighed against his chest as if she was happy to be here, happy to have him hold her, too.

There was just no point in trying to verbalize it.

Still, the shirt was starting to get irritating, the trousers a bit…tight. But Jyn buried her hands in his hair again (sending a flash of heat from his scalp down his spine) and he copied her in kind, ignoring the rest because this was what she wanted and this was good.

A loud buzzer sounded through the ship, harsh enough to make the metal walls vibrate. Jyn shoved herself up in immediate response, her hand flying up to the blaster clipped to the wall just over their heads. Cassian lay still beneath her, watching her kneel over him with her lips red from kissing him, hair mussed from sleep and his hands, naked from the waist up and yet somehow fierce and deadly as she aimed the blaster at the door. Her free hand braced against his chest as if to push him down and out of the line of fire, and he wondered if she could feel his heart twisting under her palm at the gesture.

The buzzer ended as abruptly as it began, and Cassian worked hard to keep his face neutral as Jyn blinked and glanced from the unopened cabin door to the blaster in her hand and finally down at Cassian. Gently, he settled his hands on her knees and ran them up her thighs. “Message alert,” he murmured. “Priority level.”

Jyn bit her lip, then scowled at him, as if daring him to laugh. “I’ve never worked on a Nestt,” she said in a tight voice, re-engaging the blaster’s safety and clipping it back in place on the bulkhead. The artificial yellow light glinted in her hair and on her skin as she moved, and Cassian wanted to sit up and gather her close, wanted to bury himself in her ferocity, wanted –

A priority message meant something significant may have changed, possibly the mission parameters themselves, or the objective, or even that the whole op was cancelled and they had to return to base immediately. Cassian bit down on the inside of his cheek to get himself under control, then looked around for Jyn’s clothes. “I should have turned the volume on the message system down. Sorry.” Her clothes were just within his grasp in an untidy pile next to the bunk; he ignored the friction of Jyn’s body against his groin as he twisted to grab them and hand them to her without sitting up.

The embarrassed glare on her face turned resigned, then faded into her normal watchfulness. “’s fine.” She took the bra and shirt without comment, but shot him a hooded look as she stayed exactly where she was, straddling him while she pulled them slowly back on. If it was meant as punishment, he thought with some amusement, she was missing the mark. True, every little shift and movement she made sent a shock of restless desire that he could not act on, but Cassian could think of a lot of worse places to be than under Jyn while she gently tormented him. So he simply lay there and watched, committing to memory the image of a gold-washed Jyn straddling him, her back arched slightly as she tugged her shirt over her head, her face still a little flushed. He didn’t flinch, either, when Jyn leaned forward and half crawled up him to reach for something over his head – ah, her overshirt, still folded neatly on the shelf overhead, where he had put it last night. She sat back on her heels (her weight, once again, pressing down on his aching erection and making him shiver), and pulled that shirt on, too. She took her time adjusting the buttons, and Cassian dug his fingers into her hips to hold her still, clenching his jaw but refusing to show any other reaction on his face. He could play this game too, and he already knew he was more patient than she.

Jyn looked him directly in the eye, and he saw the challenge there as clearly as if she’d spoken. She didn’t move her hips, didn’t strain against his hold, but she stretched over his head (a move that changed the angle of her body beautifully against his and made his every muscle lock up for a breathless second) and plucked her weapon’s harness from the hook next to the bunk. She sat back up again significantly faster this time, before he could brace himself for it. Cassian couldn’t help the short, sharp breath he took as her weight rocked against his groin, though he managed to keep it from turning into a gasp. Jyn smirked at the tiny sound anyway, and casually slung the harness around her waist, twisting to buckle the holster strap around her upper thigh.

Her smirk widened a little, and Cassian caught himself rubbing his thumbs in small, tight circles against the inside of her hips. He grunted, and shifted his grip so that she was still mostly immobilized (give her a centimeter, and she’d have him forgetting his objectives, and possibly the entirety of the Basic language while she was at it) but now he wasn’t clinging to her quite so…invitingly. He felt her tense under his hands, testing him, but they really did need to get a move on, no matter how much he wanted to let go and let her...they needed to get a move on. So Cassian kept his grip and felt her relax against him, conceding the victory.

Jyn finished securing the holster, and then she paused, tilting her head and looking down at him like she was considering her next move.

Cassian flicked his tongue over his dry lips and raised his eyebrows at her.

She took the blaster from the wall again and locked it into her holster without breaking eye contact. One of her hands slid under his head, combing through his hair again (he did not let his eyes slide closed, although they drifted a little in that direction against his will), and then slipped under the pillow and pulled out the small vibroblade they kept there. That one went into her harness belt, at the small of her back. Her longest vibroblade was clipped into the wall rack next to the blaster, safely tucked into the custom-fitted wrist-sheath she favored. Jyn had to look away from his face to push up her sleeve and strap the finicky little latches to her forearm, but for some reason her fingers fumbled on the metal, and she frowned and cursed under her breath. She tried again, and they fumbled once more, almost causing the wrist-sheath to drop to his chest. Cassian caught it before it landed, and she gave him a sheepish little smile and held her wrist out, a silent request for help. Without thinking, he reached up with both hands to latch the thin straps around her arm, and just as the last clasp slid home, he realized his mistake.

Her grin at him now was positively wicked as she dropped down to kiss his ear and whisper, “thanks,” and then she rolled her newly-freed hips, hard, against him. The noise that tore out of his throat before he could stop it was thoroughly embarrassing, but for a blissful moment, Cassian didn’t care.

“Tease,” he said through grit teeth, but there was no edge to it. She’d pulled a classic con beautifully on him, and part of him was exasperated but most of him could live in a moment like this, her muffled laugh in his ear and her body warm and sweet above him. Jyn sat back up (again, had she no mercy?) and Cassian almost gave up right then and flipped her over on the narrow bunk, but she glanced at the security feeds and his sanity reasserted itself at the reminder.

Jyn looked from the screens to the deck by the bunk, and the frown this time was more distracted. “My socks?” Cassian waved a hand vaguely towards the small sonic laundry-box built into the bulkhead next to the bunk, and she gave him an unimpressed stare. “Really?”

“You wore them for hours yesterday,” he shot back. “It doesn’t cost anything to wash them every day.”

He saw her hesitate at that, and reminded himself that Jyn had lived among the Partisans for most of her young life, then as a homeless teen, and finally as a low-ranked soldier in the rebel army. Private showers were still a luxury to her, let alone personal laundry-boxes. He saw her flick her eyes from the flap in the wall to him, and then back again quickly, as if ashamed to be caught worrying about it, ashamed to be seen to care. It made his chest ache, and more words he wished he could say crowded into his throat and froze on his tongue: you don’t need my permission to use the things on this ship, nothing here is mine either, I won’t judge you for your upbringing, tell me about your childhood, tell me anything, don’t be ashamed.

Never be ashamed with me.

“On Fest,” he started, and paused, cleared his throat, found himself reaching for her again. This time, though, he rested his hands on her waist instead of her hips, and pulled her down to him. She came willingly (her weapon harness dug into his stomach a little, but it was worth it to have her so close), and Cassian ran his hands up and down her back again, soothing now rather than seeking. “We cleaned everything with water,” he said into her hair, trying not to think too hard about the feel of her lips against his collarbone or her body curled tight against his. “It was cheaper, easier, because of all the snow. Everyone had a water shower, or a water laundry-box. The trick,” he laughed softly, “the real trick was getting it warm enough to wash yourself all the way before bits of you froze off.”

“We had,” she started, stopped. Cassian waited. “On Onderon. It rained a lot. We joked - ” she shrugged, her voice going a little distant and careless as if this were some old story that didn’t matter to her at all. Her heartbeat was still fast against his chest, though, and he didn’t think it was wholly a symptom of their little game a moment ago. “If someone stank, we joked that it had been too long since they’d been in a battle, because they hadn’t been outside. Hadn’t been washed by the rain. Sometimes if it was really bad, Saw -” she swallowed, “Saw would throw them out into the jungle until a rainstorm hit.”

Cassian turned his head and kissed her temple, more elated at her simple story than he probably should be and not worried about it. Getting information out of people was his job description, and he was good at it, but it was different with Jyn.  Everything was different, with Jyn. “It doesn’t rain on Kafrene,” he said, and when she lifted her head to look at him, he continued in a grave voice, “so for my sake, I hope you’re alright with the laundry-box.”

Jyn rolled her eyes, but the tension around her mouth eased into something like a smile. “I’ll try.”

“Thank you.”

“Prissy princess,” she grumbled, and swung her leg over him, landing gracefully on her feet by the bunk and reaching to scrape her hair from her face and into a messy bun.

“Yes,” he replied serenely, drawing up one knee to at least grant himself a little dignity as he watched her pull open the little sonic in the wall to retrieve her socks, and bend down to pull them on. Jyn shot him another smirk through the rumpled locks of hair still hanging in her face as she toed on her boots next.

“Priority message, Captain,” she said mock-sternly. “Better get a move on.”

Cassian swept a hand in the general direction of the cockpit. “On your lead, Sergeant.”

Her soft laugh drifted back to him on the golden light as she slipped out the door.